Determining geometries of hydraulic fractures

ABSTRACT

Techniques for determining geometries of hydraulic fractures include identifying a data structure that includes data associated with hydraulic fracture identifiers and observed fluid pressures, at least one of the hydraulic fracture identifiers representing a first hydraulic fracture formed from a monitor wellbore into a subsurface rock formation and at least another of the hydraulic fracture identifiers representing a second hydraulic fracture formed from a treatment wellbore into the subsurface rock formation, at least one of the observed fluid pressures includes a pressure change in a fluid in the first hydraulic fracture that is induced by formation of the second hydraulic fracture; performing a single- or multi-objective, non-linear constrained optimization analysis to minimize at least one objective function associated with the observed fluid pressures; and based on minimizing the at least one objective function, determining respective sets of hydraulic fracture geometries associated with at least one of the first hydraulic fracture or the second hydraulic fracture.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of, and claims priority under 35U.S.C. § 120 to, U.S. patent application Ser. No. 15/979,420, filed onMay 14, 2018, and entitled “DETERMINING GEOMETRIES OF HYDRAULICFRACTURES,” which in turn claims priority under 35 U.S.C. § 119 to U.S.Provisional Patent Application Ser. No. 62/580,657, filed on Nov. 2,2017, and entitled “DETERMINING GEOMETRIES OF HYDRAULIC FRACTURES,” theentire contents of both applications are hereby incorporated byreference.

TECHNICAL FIELD

This specification relates to systems and method for determininggeometries of hydraulic fractures formed in one or more underground rockformations.

BACKGROUND

Certain geologic formations, such as unconventional reservoirs in shale,sandstone, and other rock types, often exhibit increased hydrocarbonproduction subsequent to one or more completion operations beingperformed. One such completion operation may be a hydraulic fracturingoperation, in which a liquid is pumped into a wellbore to contact thegeologic formation and generate fractures throughout the formation dueto a pressure of the pumped liquid (e.g., that is greater than afracture pressure of the rock formation). In some cases, anunderstanding of a size or other characteristics of the generatedhydraulic fractures may be helpful in understanding a potentialhydrocarbon production from the geologic formation.

SUMMARY

In a general implementation according to the present disclosure, astructured data processing system for determining geometries ofhydraulic fractures includes one or more hardware processors; and amemory in communication with the one or more hardware processors thatstores a data structure and an execution environment. The data structurestores data that includes a plurality of hydraulic fracture identifiersand a plurality of observed fluid pressures, where at least one of theplurality of hydraulic fracture identifiers is associated with a firsthydraulic fracture formed from a monitor wellbore that extends from aterranean surface into a subsurface rock formation and at least anotherof the plurality of hydraulic fracture identifiers is associated with asecond hydraulic fracture formed from a treatment wellbore that extendsfrom the terranean surface into the subsurface rock formation. At leastone of the plurality of observed fluid pressures includes a pressurechange in a fluid in the first hydraulic fracture that is induced byformation of the second hydraulic fracture. The execution environmentincludes a hydraulic fracture geometry solver configured to performoperations including (i) executing a single- or multi-objective,non-linear constrained optimization analysis to minimize at least oneobjective function associated with the plurality of observed fluidpressures, and (ii) based on minimizing the at least one objectivefunction, determining respective sets of hydraulic fracture geometriesassociated with at least one of the first hydraulic fracture or thesecond hydraulic fracture. The execution environment further includes auser interface module that generates a user interface that renders oneor more graphical representations of the determined respective sets ofhydraulic fracture geometries; and a transmission module that transmits,over one or more communication protocols and to a computing device, datathat represents the one or more graphical representations.

In an aspect combinable with the general implementation, the at leastone objective function includes a first objective function.

In another aspect combinable with any of the previous aspects,minimizing the first objective function includes minimizing a differencebetween the observed pressure and a modeled pressure associated with thefirst and second hydraulic fractures.

In another aspect combinable with any of the previous aspects, thehydraulic fracture geometry solver is further configured to performoperations including assessing a shift penalty to the first objectivefunction.

In another aspect combinable with any of the previous aspects, theoperation of assessing the shift penalty includes minimizing a standarddeviation of the center location of each of a plurality of hydraulicfractures in a stage fracturing treatment initiated from the treatmentwellbore that includes the second hydraulic fracture.

In another aspect combinable with any of the previous aspects, themodeled pressure is determined with a finite element method that outputsthe modeled pressure based on inputs that include parameters of ahydraulic fracture operation and the respective sets of hydraulicfracture geometries of the first and second hydraulic fractures.

In another aspect combinable with any of the previous aspects, thehydraulic fracture geometry solver is further configured to performoperations including minimizing a second objective function associatedwith at least one of an area of the first or second hydraulic fracture.

In another aspect combinable with any of the previous aspects, theoperation of minimizing the second objective function includes at leastone of minimizing a difference between the area of the first hydraulicfracture and an average area of a group of hydraulic fractures in ahydraulic fracturing stage group that includes the first hydraulicfracture; or minimizing a difference between the area of the secondhydraulic fracture and an average area of a group of hydraulic fracturesin a hydraulic fracturing stage group that includes the second hydraulicfracture.

In another aspect combinable with any of the previous aspects, thehydraulic fracture geometry solver is further configured to performoperations including applying a constraint to the single- ormulti-objective, non-linear constrained optimization analysis associatedwith at least one of a center of the first hydraulic fracture or acenter of the second hydraulic fracture.

In another aspect combinable with any of the previous aspects, theoperation of applying the constraint includes at least one ofconstraining a distance between the center of the first hydraulicfracture and the radial center of the monitor wellbore to be no greaterthan a fracture half-length dimension of the first hydraulic fractureand no greater than a fracture height dimension of the first hydraulicfracture; or constraining a distance between the center of the secondhydraulic fracture and the radial center of the treatment wellbore to beno greater than a fracture half-length dimension of the second hydraulicfracture and no greater than a fracture height dimension of the secondhydraulic fracture.

In another aspect combinable with any of the previous aspects, thehydraulic fracture geometry solver is further configured to performoperations including iterating steps (i) and (ii) until an error for atleast one of the first or second objective functions is less than aspecified value; and a change in the determined plurality of fracturegeometry data for the first hydraulic fracture from a previous iterationto a current iteration is less than the specified value.

In another aspect combinable with any of the previous aspects, theoperation of iterating includes setting the set of hydraulic fracturegeometries of the first hydraulic fracture to an initial set of datavalues; minimizing at least one of the first or second objectivefunctions using the observed pressure and modeled pressure that is basedon the set of hydraulic fracture geometries of the first hydraulicfracture and a set of hydraulic fracture geometries of the secondhydraulic fracture; calculating a new set of hydraulic fracturegeometries of the first hydraulic based on the minimization; andresetting the set of hydraulic fracture geometries of the firsthydraulic fracture to the calculated new set of hydraulic fracturegeometries.

In another aspect combinable with any of the previous aspects, theoperation of determining respective sets of hydraulic fracturegeometries associated with at least one of the first hydraulic fractureor the second hydraulic fracture includes determining respective sets ofhydraulic fracture geometries associated with the first hydraulicfracture.

In another aspect combinable with any of the previous aspects, thehydraulic fracture geometry solver is further configured to performoperations including based on the error for at least one of the first orsecond objective functions being less than the specified value, fixingthe set of hydraulic fracture geometries of the first hydraulic fractureto the calculated new set of hydraulic fracture geometries; andminimizing the first objective function to minimize the differencebetween the observed pressure and the modeled pressure associated withthe first and second hydraulic fractures.

In another aspect combinable with any of the previous aspects, thehydraulic fracture geometry solver is further configured to performoperations including optimizing, through an iterative process, thehydraulic fracture geometries of the second hydraulic fracture, theoptimizing including applying a constraint associated with a fractureheight of the second hydraulic fracture or a fracture length-to-fractureheight ratio of the second hydraulic fracture.

In another aspect combinable with any of the previous aspects, theiterative process includes iterating steps (i) and (ii) until an errorfor at least one of the first or second objective functions is less thana specified value; and a change in the determined plurality of fracturegeometry data for the second hydraulic fracture from a previousiteration to a current iteration is less than the specified value.

In another aspect combinable with any of the previous aspects, theoperation of iterating includes setting the set of hydraulic fracturegeometries of the second hydraulic fracture to an initial set of datavalues; minimizing at least one of the first or second objectivefunctions using the observed pressure and modeled pressure that is basedon the fixed set of hydraulic fracture geometries of the first hydraulicfracture and the set of hydraulic fracture geometries of the secondhydraulic fracture; calculating a new set of hydraulic fracturegeometries of the second hydraulic based on the minimization; andresetting the set of hydraulic fracture geometries of the secondhydraulic fracture to the calculated new set of hydraulic fracturegeometries.

In another aspect combinable with any of the previous aspects, thesingle- or multi-objective, non-linear constrained optimization analysisincludes a sequential quadratic programming method.

In another aspect combinable with any of the previous aspects, the datastructure includes an observation graph that includes a plurality ofnodes and a plurality of edges, each edge connecting two nodes.

In another aspect combinable with any of the previous aspects, each noderepresents one of the plurality of hydraulic fractures and each edgerepresents one of the observed pressures.

In another general implementation, a computer-implemented method fordetermining geometries of hydraulic fractures includes (i) searching,with one or more hardware processors, memory in communication with theone or more hardware processors for a data structure stored in thememory; (ii) extracting, with one or more hardware processors, data fromthe data structure, the data including a plurality of hydraulic fractureidentifiers and a plurality of observed fluid pressures, at least one ofthe plurality of hydraulic fracture identifiers that represent a firsthydraulic fracture formed from a monitor wellbore that extends from aterranean surface into a subsurface rock formation and at least anotherof the plurality of hydraulic fracture identifiers that represent asecond hydraulic fracture formed from a treatment wellbore that extendsfrom the terranean surface into the subsurface rock formation, at leastone of the plurality of observed fluid pressures including a pressurechange in a fluid in the first hydraulic fracture that is induced byformation of the second hydraulic fracture; (iii) performing, with theone or more hardware processors, a single- or multi-objective,non-linear constrained optimization analysis to minimize at least oneobjective function associated with the plurality of observed fluidpressures; and (iv) based on minimizing the at least one objectivefunction, determining, with the one or more hardware processors,respective sets of hydraulic fracture geometries associated with atleast one of the first hydraulic fracture or the second hydraulicfracture.

In an aspect combinable with the general implementation, the at leastone objective function includes a first objective function.

In another aspect combinable with any one of the previous aspects,minimizing the first objective function includes minimizing a differencebetween the observed pressure and a modeled pressure associated with thefirst and second hydraulic fractures.

Another aspect combinable with any one of the previous aspects furtherincludes assessing, with the one or more hardware processors, a shiftpenalty to the first objective function.

In another aspect combinable with any one of the previous aspects,assessing the shift penalty includes minimizing a standard deviation ofthe center location of each of a plurality of hydraulic fractures in astage fracturing treatment initiated from the treatment wellbore thatincludes the second hydraulic fracture.

In another aspect combinable with any one of the previous aspects, themodeled pressure is determined with a finite element method that outputsthe modeled pressure based on inputs that include parameters of ahydraulic fracture operation and the respective sets of hydraulicfracture geometries of the first and second hydraulic fractures.

In another aspect combinable with any one of the previous aspects, step(iii) further includes minimizing a second objective function associatedwith at least one of an area of the first or second hydraulic fracture.

In another aspect combinable with any one of the previous aspects,minimizing the second objective function includes at least one ofminimizing a difference between the area of the first hydraulic fractureand an average area of a group of hydraulic fractures in a hydraulicfracturing stage group that includes the first hydraulic fracture; orminimizing a difference between the area of the second hydraulicfracture and an average area of a group of hydraulic fractures in ahydraulic fracturing stage group that includes the second hydraulicfracture.

In another aspect combinable with any one of the previous aspects, step(iii) further includes applying, with the one or more hardwareprocessors, a constraint to the single- or multi-objective, non-linearconstrained optimization analysis associated with at least one of acenter of the first hydraulic fracture or a center of the secondhydraulic fracture.

In another aspect combinable with any one of the previous aspects,applying the constraint includes at least one of constraining a distancebetween the center of the first hydraulic fracture and the radial centerof the monitor wellbore to be no greater than a fracture half-lengthdimension of the first hydraulic fracture and no greater than a fractureheight dimension of the first hydraulic fracture; or constraining adistance between the center of the second hydraulic fracture and theradial center of the treatment wellbore to be no greater than a fracturehalf-length dimension of the second hydraulic fracture and no greaterthan a fracture height dimension of the second hydraulic fracture.

Another aspect combinable with any one of the previous aspects furtherincludes iterating steps (iii) and (iv) until an error for at least oneof the first or second objective functions is less than a specifiedvalue; and a change in the determined plurality of fracture geometrydata for the first hydraulic fracture from a previous iteration to acurrent iteration is less than the specified value.

In another aspect combinable with any one of the previous aspects,iterating includes setting the set of hydraulic fracture geometries ofthe first hydraulic fracture to an initial set of data values;minimizing at least one of the first or second objective functions usingthe observed pressure and modeled pressure that is based on the set ofhydraulic fracture geometries of the first hydraulic fracture and a setof hydraulic fracture geometries of the second hydraulic fracture;calculating a new set of hydraulic fracture geometries of the firsthydraulic based on the minimization; and resetting the set of hydraulicfracture geometries of the first hydraulic fracture to the calculatednew set of hydraulic fracture geometries.

In another aspect combinable with any one of the previous aspects,determining respective sets of hydraulic fracture geometries associatedwith at least one of the first hydraulic fracture or the secondhydraulic fracture includes determining respective sets of hydraulicfracture geometries associated with the first hydraulic fracture.

Another aspect combinable with any one of the previous aspects furtherincludes based on the error for at least one of the first or secondobjective functions being less than the specified value, fixing the setof hydraulic fracture geometries of the first hydraulic fracture to thecalculated new set of hydraulic fracture geometries; and minimizing thefirst objective function to minimize the difference between the observedpressure and the modeled pressure associated with the first and secondhydraulic fractures.

Another aspect combinable with any one of the previous aspects furtherincludes optimizing, through an iterative process, the hydraulicfracture geometries of the second hydraulic fracture, the optimizingincluding applying a constraint associated with a fracture height of thesecond hydraulic fracture or a fracture length-to-fracture height ratioof the second hydraulic fracture

In another aspect combinable with any one of the previous aspects, theiterative process includes iterating steps (iii) and (iv) until an errorfor at least one of the first or second objective functions is less thana specified value; and a change in the determined plurality of fracturegeometry data for the second hydraulic fracture from a previousiteration to a current iteration is less than the specified value.

In another aspect combinable with any one of the previous aspects,iterating includes setting the set of hydraulic fracture geometries ofthe second hydraulic fracture to an initial set of data values;minimizing at least one of the first or second objective functions usingthe observed pressure and modeled pressure that is based on the fixedset of hydraulic fracture geometries of the first hydraulic fracture andthe set of hydraulic fracture geometries of the second hydraulicfracture; calculating a new set of hydraulic fracture geometries of thesecond hydraulic based on the minimization; and resetting the set ofhydraulic fracture geometries of the second hydraulic fracture to thecalculated new set of hydraulic fracture geometries.

In another aspect combinable with any one of the previous aspects, thesingle- or multi-objective, non-linear constrained optimization analysisincludes a sequential quadratic programming method.

In another aspect combinable with any one of the previous aspects, thedata structure includes an observation graph that includes a pluralityof nodes and a plurality of edges, each edge connecting two nodes.

In another aspect combinable with any one of the previous aspects, eachnode represents one of the plurality of hydraulic fractures and eachedge represents one of the observed pressures.

Another aspect combinable with any one of the previous aspects furtherincludes preparing, with the one or more hardware processors, thedetermined plurality of fracture geometry data for presentation througha graphical user interface.

Implementations of a hydraulic fracturing geometric modeling systemaccording to the present disclosure may include one, some, or all of thefollowing features. For example, implementations may more accuratelydetermine hydraulic fracture dimensions, thereby informing a fracturetreatment operator about one or more effects of particular treatmentparameters. As another example, implementations may inform a fracturetreatment operator about more efficient or effective well spacing (e.g.,horizontally and vertically) in an existing or future production field.As yet another example, implementations may inform a fracture treatmentoperator about more efficient or effective well constructionsparameters, such as well cluster count and well cluster spacing (e.g.,horizontally and vertically).

Implementations of a hydraulic fracturing geometric modeling systemaccording to the present disclosure may include a system of one or morecomputers that can be configured to perform particular actions by virtueof having software, firmware, hardware, or a combination of theminstalled on the system that in operation causes or cause the system toperform the actions. One or more computer programs can be configured toperform particular actions by virtue of including instructions that,when executed by data processing apparatus, cause the apparatus toperform the actions.

The details of one or more implementations of the subject matterdescribed in this disclosure are set forth in the accompanying drawingsand the description below. Other features, aspects, and advantages ofthe subject matter will become apparent from the description, thedrawings, and the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIGS. 1A-1C are schematic illustrations of an example implementation ofa hydraulic fracture geometric modeling system within a hydraulicfracturing system.

FIG. 2 is a schematic diagram of a computing system that implements thehydraulic fracture geometric modeling system.

FIGS. 3A-3D illustrate a sequential process for hydraulically fracturingmultiple wellbores from which a hydraulic fracture geometric modelingsystem may determine geometries of the hydraulic fractures.

FIGS. 4A-4B are schematic illustrations of example implementations of adata structure that stores structure hydraulic fracturing data within ahydraulic fracture geometric modeling system.

FIGS. 5-7 are flowcharts that illustrate example methods for determininghydraulic fracture geometries.

FIGS. 8A-8B illustrate example graphical outputs from a hydraulicfracture geometric modeling system.

FIG. 9 is a graphical representation of a vector that representsfracture degrees of freedom of a hydraulic fracture.

FIG. 10 is a flowchart that describes another example process forestimating fracture geometries using poromechanical responses in offsetwells.

FIG. 11 graphically illustrates a final model fit for a singlerealization of a sub-process for the process described in FIG. 10.

FIG. 12 illustrates a combination observation graph-map that includes aset of five treatment stages monitored by two observation stages onindependent offset wells in a particular landing zone.

FIG. 13 illustrates a dependency matrix for the combination observationgraph-map of FIG. 12.

FIG. 14 illustrates a combination observation graph-map that includes aset of six treatment stages monitored by an observation stage onindependent offset wells in a particular landing zone.

FIGS. 15-22 are graphs that illustrate solution distribution of resultsfrom the determination of fracture geometries of the hydraulic fracturesrepresented in FIG. 14.

FIG. 23 illustrates a table with solution results from the determinationof fracture geometries of the hydraulic fractures represented in FIG.14.

FIG. 24 illustrates a table with solution results from determinations offracture geometries of the hydraulic fractures represented in othermodel problem examples.

DETAILED DESCRIPTION

FIGS. 1A-1C are schematic illustrations of an example implementation ofa hydraulic fracture geometric modeling system 120 within a hydraulicfracturing system 100. As shown, system 100 includes a monitor wellbore108 that is formed from a terranean surface 102 to a subterranean zone104 located below the terranean surface 102. The monitor wellbore 108,generally, includes a plug 122 or other fluid barrier positioned in thewellbore 108, and a pressure sensor 114. In this example, the pressuresensor 114 is located at or near a wellhead on the monitor wellbore 108but in alternate implementations, the pressure sensor 114 may bepositioned within the monitor wellbore 108 below the terranean surface102. Generally, according to the present disclosure, the monitorwellbore 108 may be used to measure pressure variations in a fluidcontained in the wellbore 108 and/or one or more hydraulic fractures 110formed from the monitor wellbore 108 that are induced by a hydraulicfracturing fluid pumped into a treatment wellbore 106 to form one ormore hydraulic fractures 112 formed from the treatment wellbore 106.Such induced pressure variations, as explained more fully below, may beused to determine a fracture growth curve and other informationregarding the hydraulic fractures 112.

The monitor wellbore 108 shown in FIG. 1A includes vertical andhorizontal sections, as well as a radiussed section that connects thevertical and horizontal portions. Generally, and in alternativeimplementations, the wellbore 108 can include horizontal, vertical(e.g., only vertical), slant, curved, and other types of wellboregeometries and orientations. The wellbore 108 may include a casing (notshown) that is cemented or otherwise secured to the wellbore wall todefine a borehole in the inner volume of the casing. In alternativeimplementations, the wellbore 108 can be uncased or include uncasedsections. Perforations (not specifically labeled) can be formed in thecasing to allow fracturing fluids and/or other materials to flow intothe wellbore 108. Perforations can be formed using shape charges, aperforating gun, and/or other tools. Although illustrated as generallyvertical portions and generally horizontal portions, such parts of thewellbore 108 may deviate from exactly vertical and exactly horizontal(e.g., relative to the terranean surface 102) depending on the formationtechniques of the wellbore 108, type of rock formation in thesubterranean formation 104, and other factors. Generally, the presentdisclosure contemplates all conventional and novel techniques forforming the wellbore 108 from the surface 102 into the subterraneanformation 104.

The treatment wellbore 106 shown in FIG. 1A includes vertical andhorizontal sections, as well as a radiussed section that connects thevertical and horizontal portions. Generally, and in alternativeimplementations, the wellbore 106 can include horizontal, vertical(e.g., only vertical), slant, curved, and other types of wellboregeometries and orientations. The treatment wellbore 106 may include acasing (not shown) that is cemented or otherwise secured to the wellborewall to define a borehole in the inner volume of the casing. Inalternative implementations, the wellbore 106 can be uncased or includeuncased sections. Perforations (not specifically labeled) can be formedin the casing to allow fracturing fluids and/or other materials to flowinto the wellbore 106. Perforations can be formed using shape charges, aperforating gun, and/or other tools. Although illustrated as generallyvertical portions and generally horizontal portions, such parts of thewellbore 106 may deviate from exactly vertical and exactly horizontal(e.g., relative to the terranean surface 102) depending on the formationtechniques of the wellbore 106, type of rock formation in thesubterranean formation 104, and other factors. Generally, the presentdisclosure contemplates all conventional and novel techniques forforming the wellbore 106 from the surface 102 into the subterraneanformation 104. Generally, according to the present disclosure, thetreatment wellbore 106 is used to form one or more hydraulic fractures112 that can produce or enhance production of hydrocarbons or otherfluids in the subterranean zone 104. A hydraulic fracturing fluid usedto form such fractures 112, during formation of the fractures 112, mayinduce pressure variations in a fluid contained in the monitor wellbore108, which may be used to determine a fracture growth curve and otherinformation regarding the hydraulic fractures 112.

Although a single monitor wellbore 108 and a single treatment wellbore106 are shown in FIGS. 1A-1C, the present disclosure contemplates thatthe system 100 may include multiple (e.g., more than 2) wellbores, anyof which may be assigned as a “monitor” wellbore or a “treatment”wellbore. For example, in some aspects, there may be multiple (e.g., 10or more) wellbores formed into the subterranean zone 104, with a singlewellbore assigned to be the monitor wellbore and the remaining wellboresassigned to be treatment wellbores. Alternatively, there may be multiplemonitor wellbores and multiple treatment wellbores within a set ofwellbores formed into the subterranean zone. Further, in some aspects,one or more wellbores in a set of wellbores formed into the subterraneanzone 104 may be initially designated as monitor wellbores while one ormore other wellbores may be designated as treatment wellbores. Suchinitial designations, according to the present disclosure, may beadjusted over time such that wellbores initially designated monitorwellbores may be re-designated as treatment wellbores while wellboresinitially designated treatment wellbores may be re-designated as monitorwellbores.

The example hydraulic fracturing system 100 includes a hydraulicfracturing liquid circulation system 118 that is fluidly coupled to thetreatment wellbore 106. In some aspects, the hydraulic fracturing liquidcirculation system 118, which includes one or more pumps 116, is fluidlycoupled to the subterranean formation 104 (which could include a singleformation, multiple formations or portions of a formation) through aworking string (not shown). Generally, the hydraulic fracturing liquidcirculation system 118 can be deployed in any suitable environment, forexample, via skid equipment, a marine vessel, sub-sea deployedequipment, or other types of equipment and include hoses, tubes, fluidtanks or reservoirs, pumps, valves, and/or other suitable structures andequipment arranged to circulate a hydraulic fracturing liquid throughthe treatment wellbore 106 and into the subterranean formation 104 togenerate the one or more fractures 112. The working string is positionedto communicate the hydraulic fracturing liquid into the treatmentwellbore 106 and can include coiled tubing, sectioned pipe, and/or otherstructures that communicate fluid through the wellbore 106. The workingstring can also include flow control devices, bypass valves, ports, andor other tools or well devices that control the flow of fracturing fluidfrom the interior of the working string into the subterranean formation104.

Although labeled as a terranean surface 102, this surface may be anyappropriate surface on Earth (or other planet) from which drilling andcompletion equipment may be staged to recover hydrocarbons from asubterranean zone. For example, in some aspects, the surface 102 mayrepresent a body of water, such as a sea, gulf, ocean, lake, orotherwise. In some aspects, all are part of a drilling and completionsystem, including hydraulic fracturing system 100, may be staged on thebody of water or on a floor of the body of water (e.g., ocean or gulffloor). Thus, references to terranean surface 102 includes reference tobodies of water, terranean surfaces under bodies of water, as well asland locations.

Subterranean formation 104 includes one or more rock or geologicformations that bear hydrocarbons (e.g., oil, gas) or other fluids(e.g., water) to be produced to the terranean surface 102. For example,the rock or geologic formations can be shale, sandstone, or other typeof rock, typically, that may be hydraulically fractured to produce orenhance production of such hydrocarbons or other fluids.

As shown specifically in FIG. 1C, the monitor fractures 110 emanatingfrom the monitor wellbore 108 and the treatment fractures 112 emanatingfrom the treatment wellbore 106 may extend past each other (e.g.,overlap in one or two dimensions) when formed. In some aspects, dataabout the location of such fractures 110 and 112 and their respectivewellbores 108 and 106, such as locations of the wellbores, distancesbetween the wellbores (e.g., in three dimensions) depth of horizontalportions of the wellbores, and locations of the hydraulic fracturesinitiated from the wellbores (e.g., based on perforation locationsformed in the wellbores), among other information.

In some aspects, such information (along with the monitored, inducedpressure variations in a fluid in the one or more monitor wellbores) maybe used to help determine one or more dimensions (e.g., fracture length,fracture half-length, fracture height, fracture area) of the hydraulicfractures 112. For example, as shown in FIG. 1C, particular dimensionsthat comprise a fracture geometry (e.g., a set of values that define ageometry of a hydraulic fracture) are illustrated. In this illustration,X_(f), represents a half-length of the hydraulic fracture 110. Thisdimension, as shown, lies in an x-direction in three dimensional spacedefined under the terranean surface 102. Another dimension, H_(f),represents a height of the hydraulic fracture 110. This dimension, asshown, lies in a z-direction in three dimensional space defined underthe terranean surface 102. Another dimension, x_(o), represents adistance between a center 111 of the hydraulic fracture 110 and a radialcenter 109 of the wellbore 108 in the x-direction. This dimension, asshown, lies in the x-direction in three dimensional space defined underthe terranean surface 102. Another dimension, z_(o), represents adistance between a center 111 of the hydraulic fracture 110 and a radialcenter 109 of the wellbore 108 in the z-direction. This dimension, asshown, lies in the z-direction in three dimensional space defined underthe terranean surface 102. Another dimension, y_(o) (not shown),represents a distance between the center 111 of the hydraulic fracture110 and a fracture initiation location along the wellbore 108 in they-direction. This dimension lies in the y-direction in three dimensionalspace defined under the terranean surface 102. Another dimension thatmay be part of the fracture geometry is an angle, α, that represents theangle between the hydraulic fracture 110 and the wellbore 108. Suchdimensions can also be assigned to any fracture 112.

FIG. 2 is a schematic diagram of a computing system that implements thehydraulic fracture geometric modeling system 120 shown in FIGS. 1A-1C.Generally, the hydraulic fracture geometric modeling system 120 includesa processor-based control system operable to implement one or moreoperations described in the present disclosure. As shown in FIG. 2,observed pressure signal values 142 may be received at the hydraulicfracture geometric modeling system 120 from the pressure sensor 114 thatis fluidly coupled to or in the monitor wellbore 108. The observedpressure signal values 142, in some aspects, may represent pressurevariations in a fluid that is enclosed or contained in the monitorwellbore 108 and/or the hydraulic fractures 110 that are induced by ahydraulic fracturing fluid being used to form hydraulic fractures 112from the treatment wellbore 106.

For example, the observed pressure signals 142 may representporomechanical interactions between the hydraulic fractures 110 and thehydraulic fractures 112. The poromechanical interactions may beidentified using observed pressure signals measured by the pressuresensor 114 of a fluid contained in the monitor wellbore 108 or thehydraulic fractures 110. The poromechanical interactions may also beidentified using one or more pressure sensors or other components thatmeasure a pressure of a hydraulic fracturing fluid used to form thehydraulic fractures 112 from the treatment wellbore 106. In certainembodiments, the observed pressure signals include a pressure versustime curve of the observed pressure signal. Pressure-inducedporomechanic signals may be identified in the pressure versus time curveand the pressure-induced poromechanic signals may be used to assess oneor more parameters (e.g., geometry) of the hydraulic fractures 112.

As used herein, a “pressure-induced poromechanic signal” refers to arecordable change in pressure of a first fluid in direct fluidcommunication with a pressure sensor (e.g., pressure gauge) where therecordable change in pressure is caused by a change in stress on a solidin a subsurface formation that is in contact with a second fluid (e.g.,a hydrocarbon fluid), which is in direct fluid communication with thefirst fluid. The change in stress of the solid may be caused by a thirdfluid used in a hydraulic stimulation process (e.g., a hydraulicfracturing process) in a treatment wellbore 106 in proximity to (e.g.,adjacent) the observation (monitoring) wellbore with the third fluid notbeing in direct fluid communication with the second fluid.

For example, a pressure-induced poromechanic signal may occur in thepressure sensor 114 attached to the wellhead of the monitor wellbore108, where at least one stage of that monitor wellbore 108 has alreadybeen hydraulically fractured to create the fractures 110 (assumed, forthis example, to be part of a common fracturing stage), when theadjacent treatment wellbore 106 undergoes hydraulic stimulation. Aparticular hydraulic fracture 112 emanating from the treatment wellbore106 may grow in proximity to the fracture 110 but these fractures do notintersect. No fluid from the hydraulic fracturing process in thetreatment wellbore 106 contacts any fluid in the hydraulic fractures 110and no measurable pressure change in the fluid in the hydraulicfractures 110 is caused by advective or diffusive mass transport relatedto the hydraulic fracturing process in the treatment wellbore 106. Thus,the interaction of the fluids in the hydraulic fracture 112 with fluidsin the subsurface matrix does not result in a recordable pressure changein the fluids in the fracture 110 that can be measured by the pressuresensor 114. The change in stress on a rock (in the subterranean zone104) in contact with the fluids in the fracture 112, however, may causea change in pressure in the fluids in the fracture 110, which can bemeasured as a pressure-induced poromechanic signal in the pressuresensor 114.

Poromechanic signals may be present in traditional pressure measurementstaken in the monitor wellbore 108 while fracturing the treatmentwellbore 106. For example, if a newly formed hydraulic fracture 112overlaps or grows in proximity to a particular hydraulic fracture 110 influid communication with the pressure sensor 114 in the monitor wellbore108, one or more poromechanic signals may be present. However,poromechanic signals may be smaller in nature than a direct fluidcommunication signal (e.g., a direct observed pressure signal induced bydirect fluid communication such as a direct fracture hit or fluidconnectivity through a high permeability fault).

Poromechanic signals may also manifest over a different time scale thandirect fluid communication signals. Thus, poromechanic signals are oftenoverlooked, unnoticed, or disregarded as data drift or error in thepressure sensor 114. However, such signals may be used, at least inpart, to determine a fracture growth curve and other associated fracturedimensions of the hydraulic fractures 112 that emanate from thetreatment wellbore 106.

The hydraulic fracture geometric modeling system 120 may be anycomputing device operable to receive, transmit, process, and store anyappropriate data associated with operations described in the presentdisclosure. The illustrated hydraulic fracture geometric modeling system120 includes hydraulic fracturing modeling application 130. Theapplication 130 is any type of application that allows the hydraulicfracture geometric modeling system 120 to request and view content onthe hydraulic fracture geometric modeling system 120. In someimplementations, the application 130 can be and/or include a webbrowser. In some implementations, the application 130 can useparameters, metadata, and other information received at launch to accessa particular set of data associated with the hydraulic fracturegeometric modeling system 120. Further, although illustrated as a singleapplication 130, the application 130 may be implemented as multipleapplications in the hydraulic fracture geometric modeling system 120.

The illustrated hydraulic fracture geometric modeling system 120 furtherincludes an interface 136, a processor 134, and a memory 132. Theinterface 136 is used by the hydraulic fracture geometric modelingsystem 120 for communicating with other systems in a distributedenvironment—including, for example, the pressure sensor 114—that may beconnected to a network. Generally, the interface 136 comprises logicencoded in software and/or hardware in a suitable combination andoperable to communicate with, for instance, the pressure sensor 114, anetwork, and/or other computing devices. More specifically, theinterface 136 may comprise software supporting one or more communicationprotocols associated with communications such that a network orinterface's hardware is operable to communicate physical signals withinand outside of the hydraulic fracture geometric modeling system 120.

Regardless of the particular implementation, “software” may includecomputer-readable instructions, firmware, wired or programmed hardware,or any combination thereof on a tangible medium (transitory ornon-transitory, as appropriate) operable when executed to perform atleast the processes and operations described herein. Indeed, eachsoftware component may be fully or partially written or described in anyappropriate computer language including C, C++, Java, Visual Basic,ABAP, assembler, Perl, Python, .net, Matlab, any suitable version of4GL, as well as others. While portions of the software illustrated inFIG. 1 are shown as individual modules that implement the variousfeatures and functionality through various objects, methods, or otherprocesses, the software may instead include a number of sub-modules,third party services, components, libraries, and such, as appropriate.Conversely, the features and functionality of various components can becombined into single components as appropriate.

The processor 134 executes instructions and manipulates data to performthe operations of the hydraulic fracture geometric modeling system 120.The processor 134 may be a central processing unit (CPU), a blade, anapplication specific integrated circuit (ASIC), a field-programmablegate array (FPGA), or another suitable component. Generally, theprocessor 134 executes instructions and manipulates data to perform theoperations of the hydraulic fracture geometric modeling system 120.

Although illustrated as a single memory 132 in FIG. 2, two or morememories may be used according to particular needs, desires, orparticular implementations of the hydraulic fracture geometric modelingsystem 120. In some implementations, the memory 132 is an in-memorydatabase. While memory 132 is illustrated as an integral component ofthe hydraulic fracture geometric modeling system 120, in someimplementations, the memory 132 can be external to the hydraulicfracture geometric modeling system 120. The memory 132 may include anymemory or database module and may take the form of volatile ornon-volatile memory including, without limitation, magnetic media,optical media, random access memory (RAM), read-only memory (ROM),removable media, or any other suitable local or remote memory component.The memory 132 may store various objects or data, including classes,frameworks, applications, backup data, business objects, jobs, webpages, web page templates, database tables, repositories storingbusiness and/or dynamic information, and any other appropriateinformation including any parameters, variables, algorithms,instructions, rules, constraints, or references thereto associated withthe purposes of the hydraulic fracture geometric modeling system 120.

The illustrated hydraulic fracture geometric modeling system 120 isintended to encompass any computing device such as a desktop computer,laptop/notebook computer, wireless data port, smart phone, smart watch,wearable computing device, personal data assistant (PDA), tabletcomputing device, one or more processors within these devices, or anyother suitable processing device. For example, the hydraulic fracturegeometric modeling system 120 may comprise a computer that includes aninput device, such as a keypad, touch screen, or other device that canaccept user information, and an output device that conveys informationassociated with the operation of the hydraulic fracture geometricmodeling system 120 itself, including digital data, visual information,or a GUI.

As illustrated in FIG. 2, the memory 132 stores data, including one ormore data structures 138. In some aspects, the data structures 138 maystore structured data that represents or includes, for example,relationships between the treatment and monitor wellbores 106 and 108,respectively, fractures 112 and fractures 110, and the observed pressuresignals 142. For example, in some aspects, each data structure 138 maybe or include one or more tables that include information such as theobserved pressure signals 142 and an identifier for each of thefractures 110 and 112. In some aspects, each data structure 138 may alsoinclude information that represents a relationship between a particularfracture 110, a particular fracture 112, and a particular observedpressure signal 142.

In some aspects, at least one of the data structures 138 stored in thememory 132 may be or include an observation graph. For example, turningto FIGS. 4A-4B, these figures show schematic illustrations of exampleimplementations of an observation graph. Generally, each observationgraph include nodes and edges. Each node represents a particularhydraulic fracture formed from a particular wellbore within a wellboresystem. Each edge represents an observed pressure signal 142. Theobservation graph illustrates relationships, where each relationshipincludes two nodes and an edge that connects the two nodes. One of thenodes represents a particular hydraulic fracture 110 (e.g., a fractureinitiated from the monitor wellbore 108) while the other node representsa particular hydraulic fracture 112 (e.g., a fracture initiated from thetreatment wellbore 106). The edge represents the observed pressuresignal 142 generated and measured (e.g., by the sensor 114) at theparticular fracture 110 during the hydraulic fracturing operation thatcreated the particular hydraulic fracture 112.

FIG. 4A represents an example observation graph 400 that includesmultiple nodes 402 and multiple edges 404. Each node 402 is connected toanother node 404 (i.e., a single node) by a single edge 404. Thus, insome cases, each node 402, which represents a particular fractureinitiated from a particular wellbore, is connected to only one othernode 402 by a particular edge 404. Each node 402, in some aspects,includes data that identifies the particular wellbore (within,typically, a multi-wellbore system) and the particular hydraulicfracture from the particular wellbore). In some aspects, within acombination of two nodes 402 connected by a single edge 404, one of thenodes 402 represents a particular fracture located on a wellbore that isdeemed or designated a “monitor wellbore” while the other node 402represents a particular fracture located on a wellbore that is deemed ordesignated a “treatment wellbore.” Because a wellbore may be, at onetime instant or duration, designated a “monitor wellbore,” while atanother time instant or duration be designated a “treatment wellbore,” aparticular node 402 may be connected to two or more other nodes 402(each connection being a single edge 404). In one connection, theparticular node 402 may represent the particular fracture on aparticular wellbore designated as a monitor wellbore, while in anotherconnection (of the two or more connections), the particular node 402 mayrepresent the particular fracture on the particular wellbore designatedas a treatment wellbore (e.g., at a later time instant or durationduring a series of hydraulic fracturing operations).

As further illustrated, this example observation graph 400, includesmultiple levels (e.g., eleven shown here). Each level represents aparticular hydraulic fracturing stage 406 that may include one ormultiple hydraulic fractures (and thus one or multiple nodes 402).

FIG. 4B represents an example observation graph 420 that includesmultiple nodes 424 (one labeled here) and multiple edges 428 (onelabeled here). In some aspects, each node 424 is connected to anothernode 424 (i.e., a single node) by a single edge 428. Thus, in somecases, each node 424, which represents a particular fracture initiatedfrom a particular wellbore, is connected to only one other node 424 by aparticular edge 428. Each node 424, in some aspects, includes data thatidentifies the particular wellbore (within, typically, a multi-wellboresystem) and the particular hydraulic fracture from the particularwellbore). This form of the observation graph 420 also includesrepresentations (e.g., lines) of each of the wellbores 422 within amultiple wellbore system.

In some aspects, within a combination of two nodes 424 connected by asingle edge 428, one of the nodes 424 represents a particular fracturelocated on a wellbore that is deemed or designated a “monitor wellbore”while the other node 424 represents a particular fracture located on awellbore that is deemed or designated a “treatment wellbore.” Because awellbore may be, at one time instant or duration, designated a “monitorwellbore,” while at another time instant or duration be designated a“treatment wellbore,” a particular node 424 may be connected to two ormore other nodes 424 (each connection being a single edge 428). In oneconnection, the particular node 424 may represent the particularfracture on a particular wellbore designated as a monitor wellbore,while in another connection (of the two or more connections), theparticular node 424 may represent the particular fracture on theparticular wellbore designated as a treatment wellbore (e.g., at a latertime instant or duration during a series of hydraulic fracturingoperations).

Here, each wellbore 422 a-422 f may be a treatment wellbore or a monitorwellbore, or may be both at different time instants or time durationsduring the hydraulic fracturing operations. As further shown in theobservation graph 420, a hydraulic fracturing stage group 426 (whichincludes one or more fractures, and thus one or more nodes 424).Hydraulic fracturing stage groups 426 a-426 b are shown here forillustrative purposes.

Turning back to FIG. 2, the memory 132, in this example, also storesmodeled pressure signals 140 that are, for example, used to calculate ordetermine hydraulic fracture geometry data 144 (also stored in thememory 132 in this example system). In some aspects, the modeledpressure signals 140 may represent a modeled fluid pressure at aparticular hydraulic fracture 110 on the monitor wellbore 108 due to aparticular hydraulic fracture 112 being created on the treatmentwellbore 106. The modeled fluid pressure may be determined, for example,by a finite element model that predicts (or models) the fluid pressureat the particular hydraulic fracture 110 on the monitor wellbore 108 dueto the particular hydraulic fracture 112 being created on the treatmentwellbore 106 based on, for example, the fracturing parameters (e.g.,pumped volume of hydraulic fracturing liquid, pressure of pumpedhydraulic fracturing liquid, flow rate of hydraulic fracturing liquid,viscosity and density of hydraulic fracturing liquid, geologicparameters, and other data).

FIGS. 3A-3D illustrate plan or plat views of a sequential process forhydraulically fracturing multiple wellbores from which the hydraulicfracture geometric modeling system 120 may determine geometries 144 ofthe hydraulic fractures. For example, FIGS. 3A-3D illustrate an example“zipper” fracturing process in which multiple wellbores are sequentiallyfractured, with each wellbore within the system being, at times duringthe process, a treatment wellbore and at other times in the process, amonitor wellbore. For instance, as shown in FIG. 3A, a vertical wellbore304 is formed from an entry location 302 (at a terranean surface).Directional wellbores 306 a-306 c are formed from the vertical wellbore304, with each directional wellbore 306 having, for example, a radiussedportion and a horizontal portion. In some aspects, the directionalwellbores 306 a-306 c may include horizontal portions that land in thesame rock formation, different rock formations, at the same truevertical depth (TVD) or at different TVDs. Each directional wellbore 306a-306 c ends at a toe 308.

As shown in FIG. 3A, during an initial part of the fracturing operation,pressure sensors 312 are placed in wellbores 306 a and 306 c once ahydraulic fracture 310 is formed in each. Thus, during this part,wellbores 306 a and 306 c are monitor wellbores and wellbore 306 b is atreatment wellbore. Wellbore 306 b is subsequently fractured to createmultiple hydraulic fractures 316 in a stage 314 a of hydraulic fractures316. The hydraulic fractures 310, therefore, are considered monitor (orobservation) fractures while the fractures 316 are treatment fractures.Pressures observed in the fractures 310 (by the sensor 312) may bestored (e.g., in a data structure) and correlated to a particularfracture 310-fracture 316 combination. Thus, in the example datastructure of an observation graph, a two node-one edge combination mayinclude: a designation of one of the observation fractures 310 (e.g.,designating the particular wellbore 306 and the particular fracture), adesignation of a particular treatment fracture 316 within the stage 314a of treatment fractures, and the observed pressure recorded by thesensor 312 (in the wellbore of the designated observation fracture 310)during the operation to create the particular treatment fracture 316.

FIG. 3B shows a next part of the fracturing operation. Here, a plug orseal 318 is placed in the wellbore 306 b downhole of the last treatmentfracture 316 and a pressure sensor 312 is also placed in the wellbore306 b. An uphole treatment fracture 316 (e.g., a fracture nearest theentry 302) therefore, becomes an observation fracture 310 as shown.Subsequently, both wellbores 306 a and 306 c are hydraulically fracturedto create multiple treatment fractures 316 in stages 314 b and 314 c.

FIG. 3C shows a next part of the fracturing operation. Here, plugs orseals 318 are placed in the wellbores 306 a and 306 c (as shown)downhole of the last treatment fracture 316 and pressure sensors 312 arealso placed in the wellbores 306 a and 306 c. Uphole treatment fractures316 in wellbores 306 a and 306 c (e.g., respective fractures nearest theentry 302) therefore, become observation fractures 310 as shown.Subsequently, wellbore 306 b is hydraulically fractured to createtreatment fractures 316 in stage 314 d.

FIG. 3D shows a next part of the fracturing operation. Here, a plug orseal 318 is placed in the wellbore 306 b downhole of the last treatmentfracture 316 and the pressure sensor 312 is also placed in the wellbore306 b. An uphole treatment fracture 316 (e.g., a fracture nearest theentry 302) therefore, becomes an observation fracture 310 as shown.Subsequently, both wellbores 306 a and 306 c are hydraulically fracturedto create multiple treatment fractures 316 in stages 314 e and 314 f.

As shown in FIGS. 3A-3D, multiple wellbores may be fractured inparticular sequences. Based on the sequential fracturing operation, adata structure (e.g., an observation graph) may be built and includedata such as fracture identifiers (e.g., identifying the particularwellbore and particular fracture emanating from that wellbore) as wellas observed fluid pressures. The observed fluid pressures may be measureby one or more pressure sensors located in one or more monitor wellboresas a treatment wellbore is being fractured. The data structure may alsocorrelate particular observed fluid pressures with particular fractures(e.g., an observed fluid pressure correlated to a pair of fractures thatincludes one monitor wellbore fracture and one treatment wellborefracture).

FIGS. 5-7 are flowcharts that illustrate example methods 500, 600, and700 for determining hydraulic fracture geometries. In some aspects, oneor more of methods 500, 600, and 700 can be executed by or with thehydraulic fracture geometric modeling system 120 within a single- ormulti objective non-linear constraint optimization analysis (e.g.,sequential quadratic programming technique, interior point technique,constrained boundary technique, or otherwise). Method 500 may begin atstep 502, which includes searching and identifying a data structure thatincludes fracture identifiers and observed pressure values. For example,as shown in FIG. 2, one or more data structures 138 may be stored inmemory 132. In some examples, the data structures 138 may be observationgraphs that store structured data that includes, for example, hydraulicfracture identifiers and observed fluid pressure values. In someaspects, the observation graph may include nodes and edges, with thenodes storing the hydraulic fracture identifying data (e.g., data thatindicates a particular wellbore and a particular fracture) and the edgesstoring pressure data (e.g., an observed fluid pressure at a particularmonitor fracture formed from a monitor wellbore based on a fracturingprocess at a particular treatment fracture from a treatment wellbore).

Method 500 may continue at step 504, which includes executing aniterative macro analysis to determine fracture geometries of one or morefractures initiated from a monitor wellbore. For example, in someaspects, fracture geometry of a particular fracture of a monitorwellbore (or monitor wellbores) may first be determined or calculated.In some aspects, fracture geometry may include a set of values,including fracture length (X_(f)), fracture height (H_(f)), horizontalshift (e.g., shift in the plane of the fracture) (x_(o)), vertical shift(e.g., vertically from wellbore center) (z_(o)), a shift along awellbore length (e.g., laterally from stage heel location) (y_(o)), andoffset azimuthal angle (Φ). In some aspects, of course, X_(f) canrepresent a fracture half-length. Thus, a vector, x ^(k) may represent afracture geometry of any particular fracture, k, with k representing anidentifier of the fracture (e.g., with each fracture having a uniqueidentifier):

${\overset{\_}{x}}^{k} = \begin{Bmatrix}X_{f}^{k} \\H_{f}^{k} \\x_{o}^{k} \\y_{o}^{k} \\z_{o}^{k} \\\theta^{k}\end{Bmatrix}$

This vector (e.g., the fracture degrees of freedom) is representedgraphically in FIG. 9 through graph 900.

Turning to FIG. 6, this flowchart represents an example implementationof step 504 (e.g., an iterative macro analysis to determine fracturegeometries of one or more fractures initiated from a monitor wellbore).The method of step 504 may begin at step 602, which includes selecting ahydraulic fracture initiated from the monitor wellbore. For example, insome aspects, a user may select a particular fracture that emanates fromthe monitor wellbore. In some aspects, the system 120 may select aparticular hydraulic fracture based on, e.g., that fracture's orderwithin the sequence of fractures within the system of fractures. Forinstance, with reference to FIGS. 3A-3D, one of the initial monitorfractures 310 shown in FIG. 3A may be selected.

The method of step 504 may continue at step 604, which includes settinga set of hydraulic fracture geometry values of the selected fracture toan initial set of values. For instance, the set of geometry values,x_(i), for the selected fracture may be set to feasible values, i.e.,values that are feasible given, e.g., wellbore location, fracturingoperation parameters (e.g., fluid volume pumped, fluid pressure duringfracturing, fluid viscosity and/or density, etc.) present during thefracturing operation that initiated the selected hydraulic fracture.

The method of step 504 may continue at step 606, which includesexecuting a minimization calculation on at least one objective functionthat includes a shift penalty. For instance, in some aspects, the valuesset in step 604, one or more observed pressure values associated withporomechanic pressures measured at the selected hydraulic fractureduring fracturing operations to initiate one or more treatment fractures(e.g., taken from the identified observation graph), and modeledpressure(s) corresponding to the observed fluid pressures (e.g., fromthe finite element analysis) are set within an objective function.

The objective function may, in some aspects, minimize a differencebetween the observed pressure values and the modeled pressure values. Insome aspects, the objective function may minimize a difference in themean of the squares of the observed pressure values and the modeledpressure values. For instance, the objective function, ƒ_(o)(x), may bedefined as:

$\begin{matrix}{{f_{o}\left( x^{i} \right)} = {\frac{1}{m}{\sum\limits_{1}^{m}\left\lbrack {{{dP}\left( {x_{T}^{i},x_{M}^{i}} \right)} - {{MP}\left( {x_{T}^{i},x_{M}^{i}} \right)}} \right\rbrack^{2}}}} & {{Eq}.\mspace{14mu} 1}\end{matrix}$

where, dP(x_(T) ^(i), x_(M) ^(i)) is an observed fluid pressure (e.g.,from the observation graph) between the selected monitor (M) fractureand each treatment (T) fracture that the selected monitor fracture“observes” (e.g., experiences a poromechanic fluid pressure duringfracturing), and MP(x_(T) ^(i), x_(M) ^(i)) is the modeled fluidpressure (e.g., from the finite element analysis) between the selectedmonitor fracture and each treatment fracture that the selected monitorfracture observes. In Equation 1, m represents the number of observedpressures.

In some aspects, step 606 may include executing a minimizationcalculation on a second objective function. For example, the objectivefunction, ƒ_(o)(x), described above may be a first objective functionƒ_(o) ¹(x), and a second objective function may minimize an absolutedifference between a fracture area of the selected hydraulic fractureand a mean fracture area of the fractures within a particular fracturestage that includes the selected fracture. For instance, the secondobjective function, ƒ_(o) ²(x), may be defined as:

$\begin{matrix}{{f_{o}^{2}\left( x^{i} \right)} = {\frac{1}{n}{\sum\limits_{i = 1}^{n}\left( {A^{i} - {{mean}\left( A^{i} \right)}} \right)^{2}}}} & {{Eq}.\mspace{14mu} 2}\end{matrix}$

where A^(i) is the fracture area (e.g., the product of 2X_(f) and H_(f))and n is the number of fractures within a particular stage group thatincludes the selected fracture. This objective function, for example,may ensure that the area of each fracture within a fracture stage groupthat includes multiple fractures is the same as (or similar to) the meanfracture area of that stage group (e.g., due to similar or identicalfracture operation parameters).

In some aspects, step 606 may include executing a minimizationcalculation on a third objective function. For example, a thirdobjective function may minimize a standard deviation in a fracture shift(in at least one of the x-, y-, or z-directions) in all of thetreatments fractures within a particular stage of fractures observed bythe selected monitor fracture. For instance, the third objectivefunction, ƒ_(o) ³(x), may be defined as:

$\begin{matrix}{{f_{o}^{3}\left( x^{i} \right)} = {\left( \frac{{Std}.{dev}.\left( x_{f} \right)}{K\; 1} \right)^{2} + \left( \frac{{Std}.{dev}.\left( z_{f} \right)}{K\; 2} \right)^{2}}} & {{Eq}.\mspace{14mu} 3}\end{matrix}$

where K1 and K2 are constants (adjustable) that account for variances inwellbore location in the underground rock formation.

In some aspects, one, two, or all of the described objective functionsmay be minimized in step 606. For example, in some aspects, only one ofthe objective functions (e.g., the first, second, or third) may beminimized in step 606. In other aspects, two of the three objectivefunctions may be minimized in step 606. In other aspects, all three ofthe objective functions (or other objective functions in accordance withthe present disclosure) may be minimized in step 606.

In some aspects, step 606 may include applying a constraint associatedwith an intersection of the selected fracture and the monitor wellbore.For example, in some aspects, step 604 may require that a centerlocation (e.g., in one or more of the x-, y-, or z-directions) of theselected fracture be no further from a radial center of the monitorwellbore than the fracture half-length (X_(f)) in the x-direction and/orhalf of the fracture height (H_(f)) in the z-direction. In some aspects,this constraint may be a binary calculation (e.g., pass or fail). If thebinary calculation results in a “fail,” in some aspects, the system 120may be programmed to add entropy to the analysis and find a pointlocation near the center location of the selected fracture that is afeasible center location relative to the radial center of the monitorwellbore.

The method of step 504 may continue at step 608, which includesdetermining a new set of values for the set of hydraulic fracturegeometry values of the selected fracture from the minimizationcalculation. For example, based on the minimization of the one or moreobjective functions, assessment of the shift penalty, and any otherconstraints, a new set of geometry values, x_(k+1) ^(i), (with x_(k)^(i) representing the previously determined or set vector) iscalculated.

The method of step 504 may continue at step 610, which includesdetermining an error value based on the minimization calculation. Forexample, in some aspects, as the at least one objective function isminimized to a particular value, the minimized particular value iscompared to a particular threshold value (e.g., 1×10⁻⁶).

The method of step 504 may continue at step 612, which includesdetermining a delta between the new set of values and a previous set ofvalues based on the minimization calculation. For example, in someaspects, a difference between the previous vector values, x_(k) ^(i),and the new vector values, x_(k+1) ^(i), are compared according to:∥x _(k+1) ^(i) −x _(k) ^(i)∥≤ε  Eq. 4

where ε is an error threshold value (e.g., 1×10⁻⁶) and ∥x_(k+1)^(i)−x_(k) ^(i)∥ denotes the l2-error norm of (x_(k+1) ^(i)−x_(k) ^(i)).

The method of step 504 may continue at step 614, which includes adetermination of whether the error value is less than a specifiedthreshold and the delta is less than a specified threshold. If the errorvalues are not satisfied, then the method may continue at step 616,which includes setting the set of hydraulic fracture geometry values ofthe selected fracture to the new set of values, and returning to step606. Thus, the method of step 504 may iterate until the error value isless than the specified threshold and the delta is less than thespecified threshold.

If such thresholds are satisfied, then the method may continue at step618, which includes fixing the set of hydraulic fracture geometry valuesof the selected fracture to the new set of values. Step 618 may continueback to step 506 of method 500.

Step 506 includes executing an iterative fine analysis to determinefracture geometries of one or more fractures initiated from a treatmentwellbore. Turning to FIG. 7, this flowchart represents an exampleimplementation of step 506. The method of step 506 may begin at step702, which includes selecting a hydraulic fracture initiated from thetreatment wellbore. For example, in some aspects, a user may select aparticular fracture that emanates from the treatment wellbore. In someaspects, the system 120 may select a particular hydraulic fracture basedon, e.g., that fracture's order within the sequence of fractures withinthe system of fractures. For instance, with reference to FIGS. 3A-3D,one of the initial treatment fractures 316 shown in FIG. 3A may beselected.

The method of step 506 may continue at step 704, which includes settinga set of hydraulic fracture geometry values of the selected fracture toan initial set of values. For instance, the set of geometry values,x_(i), for the selected fracture may be set to feasible values, i.e.,values that are feasible given, e.g., wellbore location, fracturingoperation parameters (e.g., fluid volume pumped, fluid pressure duringfracturing, fluid viscosity and/or density, etc.) present during thefracturing operation that initiated the selected hydraulic fracture.

The method of step 506 may continue at step 706, which includesexecuting a minimization calculation on at least one objective function.In this example, for the fine analysis, the shift penalty may not beassessed.

For instance, in some aspects, the values set in step 704, one or moreobserved pressure values associated with poromechanic pressures measuredat the selected hydraulic fracture during fracturing operations toinitiate one or more treatment fractures (e.g., taken from theidentified observation graph), and modeled pressure(s) corresponding tothe observed fluid pressures (e.g., from the finite element analysis)are set within an objective function.

The objective function may, in some aspects, minimize a differencebetween the observed pressure values and the modeled pressure values. Insome aspects, as with the macro analysis, the objective function mayminimize a difference in the mean of the squares of the observedpressure values and the modeled pressure values. For instance, theobjective function, ƒ_(o)(x), may be defined as:

$\begin{matrix}{{f_{o}\left( x^{i} \right)} = {\frac{1}{m}{\sum\limits_{1}^{m}\left\lbrack {{{dP}\left( {x_{T}^{i},x_{M}^{i}} \right)} - {{MP}\left( {x_{T}^{i},x_{M}^{i}} \right)}} \right\rbrack^{2}}}} & {{Eq}.\mspace{14mu} 1}\end{matrix}$

where, dP(x_(T) ^(i), x_(M) ^(i)) is an observed fluid pressure (e.g.,from the observation graph) between the selected monitor (M) fractureand each treatment (T) fracture that the selected monitor fracture“observes” (e.g., experiences a poromechanic fluid pressure duringfracturing), and MP(x_(T) ^(i), x_(M) ^(i)) is the modeled fluidpressure (e.g., from the finite element analysis) between the selectedmonitor fracture and each treatment fracture that the selected monitorfracture observes. In Equation 1, m represents the number of observedpressures.

In some aspects, step 706 may include executing a minimizationcalculation on a second objective function. For example, the objectivefunction, ƒ_(o)(x), described above may be a first objective functionƒ_(o) ¹(x), and a second objective function may minimize an absolutedifference between a fracture area of the selected hydraulic fractureand a mean fracture area of the fractures within a particular fracturestage that includes the selected fracture. For instance, the secondobjective function, ƒ_(o) ²(x), may be defined as:

$\begin{matrix}{{f_{o}^{2}\left( x^{i} \right)} = {\frac{1}{n}{\sum\limits_{i = 1}^{n}\left( {A^{i} - {{mean}\left( A^{i} \right)}} \right)^{2}}}} & {{Eq}.\mspace{14mu} 2}\end{matrix}$

where A^(i) is the fracture area (e.g., the product of 2X_(f) and H_(f))and n is the number of fractures within a particular stage group thatincludes the selected fracture. This objective function, for example,may ensure that the area of each fracture within a fracture stage groupthat includes multiple fractures is the same as (or similar to) the meanfracture area of that stage group (e.g., due to similar or identicalfracture operation parameters).

In some aspects, one or both of the described objective functions may beminimized in step 706. For example, in some aspects, only one of theobjective functions (e.g., the first or second) may be minimized in step706. In other aspects, both of the objective functions may be minimizedin step 706.

In some aspects, step 706 may include applying a constraint associatedwith an intersection of the selected fracture and the monitor wellbore.For example, in some aspects, step 604 may require that a centerlocation (e.g., in one or more of the x-, y-, or z-directions) of theselected fracture be no further from a radial center of the monitorwellbore than the fracture half-length (X_(f)) in the x-direction and/orhalf of the fracture height (H_(f)) in the z-direction. In some aspects,this constraint may be a binary calculation (e.g., pass or fail). If thebinary calculation results in a “fail,” in some aspects, the system 120may be programmed to add entropy to the analysis and find a pointlocation near the center location of the selected fracture that is afeasible center location relative to the radial center of the monitorwellbore.

The method of step 506 may continue at step 708, which includesdetermining a new set of values for the set of hydraulic fracturegeometry values of the selected fracture from the minimizationcalculation. For example, based on the minimization of the one or moreobjective functions and any other constraints, a new set of geometryvalues, x_(k+1) ^(i), (with x_(k) ^(i) representing the previouslydetermined or set vector) is calculated.

The method of step 506 may continue at step 710, which includesdetermining an error value based on the minimization calculation. Forexample, in some aspects, as the at least one objective function isminimized to a particular value, the minimized particular value iscompared to a particular threshold value (e.g., 1×10⁻⁶).

The method of step 506 may continue at step 712, which includesdetermining a delta between the new set of values and a previous set ofvalues based on the minimization calculation. For example, in someaspects, a difference between the previous vector values, x_(k) ^(i),and the new vector values, x_(k+1) ^(i), are compared according to:∥x _(k+1) ^(i) −x _(k) ^(i)∥≤ε  Eq. 4

where ε is an error threshold value (e.g., 1×10⁻⁶) and ∥x_(k+1)^(i)−x_(k) ^(i)∥ denotes the l2-error norm of (x_(k+1) ^(i)−x^(i)).

The method of step 506 may continue at step 714, which includes adetermination of whether the error value is less than a specifiedthreshold and the delta is less than a specified threshold. If the errorvalues are not satisfied, then the method may continue at step 716,which includes setting the set of hydraulic fracture geometry values ofthe selected fracture to the new set of values, and returning to step706. Thus, the method of step 506 may iterate until the error value isless than the specified threshold and the delta is less than thespecified threshold.

If such thresholds are satisfied, then the method may continue to step508. Step 508 includes preparing the determined fracture geometries forpresentation on a graphical user interface (GUI). FIGS. 8A-8B showexample output data that includes or describes the calculated hydraulicfracture geometry data (e.g., of particular hydraulic fractures amongmultiple hydraulic fractures).

Method 500 may include further operations and steps as well. Forexample, in some aspects, the determined fracture geometries may bepresented to a hydraulic fracture treatment operator, as well asrecommendations based on the determined geometries. For instance,recommendations may include adjusting one or more parameters of thecurrent hydraulic fracturing operation in the treatment wellbore 106 ora future hydraulic fracturing operation (e.g., in treatment wellbore 106or another wellbore).

FIG. 8A illustrates a graphical representation 800 that shows a graphwith a y-axis 802 that represents true vertical depth (in feet) relativeto sea level (TVDSS) of the wellbores 806 a-806 k shown in the graph800. An x-axis 804 represents a normal distance (in feet) to the well,which represents a case-specific axis that is perpendicular to thewellbore.

Graph 800 shows the wellbores 806 a-806 k in a “gun barrel” view, alongwith fractures 808, 810, and 812 with scaled, calculated geometries. Forexample, as shown, the fractures 808, 810, and 812 are illustrated inthe graph 800 with scaled fracture half-lengths (X_(f)) and fractureheights (H_(f)) determined, e.g., by method 500.

FIG. 8B illustrates another graphical representation 820 that shows agraph with a y-axis 822 that represents a distance (in feet) from aparticular reference point on the terranean surface (labeled as 0 feet).An x-axis 824 represents another distance (in feet) from a particularreference point on the terranean surface (labeled as 0 feet), whichrepresents a case-specific axis that is perpendicular to the wellbore.

Graph 820 shows the wellbores 806 a-806 k in a “plan” or “plat” view,along with fractures 808, 810, and 812 with scaled, calculatedgeometries. For example, as shown, the fractures 808, 810, and 812 areillustrated in the graph 820 with scaled fracture half-lengths (X_(f))and calculated angles (α) determined, e.g., by method 500.

As described in the present disclosure, once identified, poromechanicalsignals can be used to estimate hydraulic fracture geometry by matchingthe observed responses in monitor stages to a “digital twin.” Forexample, a three-dimensional numerical finite element analysis (FEA)used to generate modeled pressure responses with which the comparison tofield observations takes place is an example of a “digital twin.” Thedigital twin may account for the pad specific well trajectories, stagelocations, and timing of the treatment to yield results that arerepresentative of the rock and fracture mechanics that drive offset wellpressure observations. In some aspects, as described now, a mathematicaloptimization problem may be constructed to determine fracture geometriesand address questions of accuracy and uniqueness of the resultingsolution.

In some examples, a target deployment process for mapping fracturegeometries according to the present disclosure using the digital twinmay include the following criteria: greater than or equal to 2horizontal wells with well spacing less than two times the averagefracture half-length; greater than or equal to 5 observed stages permonitor stage (can be relaxed to fewer with lower accuracy); limitedfaults and natural fractures in less than 20% of stages connected (maybe extended to higher percentage but risk of inability to image isincreased)—highly connected stages cannot be imaged; and averageformation permeability of less than 10 millidarcys (mD).

The following notations and descriptions are used in the targetdeployment process:

TABLE 1 Notations and Descriptions Notation Description N^(prm) Numberof fracture parameters per stage N^(cnst) Number of constraints in thesystem N^(stg) Number of stages N^(rsp) Number of PoromechanicalReponses N^(dof) = N^(stg) * N^(prm) Number of degrees of freedom in thesystem N_(dof) ^(r) Number of retained degrees of freedom in the systemx = x_(i): i = 1, . . . , N^(dof) Fracture parameters x ^(k): k = 1, . .. , N^(stg) Fracture parameters for the k^(t□) stage w = w_(i): i = 1, .. . , N^(dof) Fine-Scale fracture parameters y = y_(j): j = 1, . . . ,N_(dof) ^(r) Optimization Variable D = D_(ij) Macro-scale dependencymatrix x* = x_(i)*: i = 1, . . . , N^(dof) Optimal Solution Vector f₀(x)Objective Function f_(m)(x): m = 1, . . . , N^(cnst) m^(th) ConstraintFunction b_(m): m = 1, . . . , N^(cnst) m^(th) Constraint Bounds R^(l):l = 1, . . . , N^(rsp) l^(t□) Poromechanical response g^(l)({x ^(k)})Poromechanical pressure response model function Ω Feasible regionh(R^(l)) Scaling operator

FIG. 10 is a flowchart that describes another example process 1000 forestimating fracture geometries using poromechanical responses in offsetwells. As shown in FIG. 10, process 1000 may include a sub-process 1002that includes multiple realizations that are run to develop astatistical distribution of geometries sufficient to estimateuncertainties in the results. Process 1000 may begin at step 1004, whichincludes constructing a digital twin. For example, a digital twin may beconstructed based upon the well trajectories, stage locations for eachwell, perforation locations for each stage, and treatment durations. Insome aspects, a digital twin is a computer or virtual representation ofa physical system, in this case, the well pad from which monitor andtreatment wellbores are formed and fractures according to a pre-designedhydraulic fracturing plan. This digital twin is constructed, forexample, to predict observed pressures in the monitor wellbore. Suchpredicted observed pressures, which, in some aspects, are initiallyassumed based on assumed fracture geometries, may then be compared tothe actual (i.e., measured) observed pressures. The digital twin is thenmodified to match the actual observed pressures.

Process 1000 may continue at step 1006, which includes calculating amacro-scale dependency matrix, {tilde over (D)}, based upon thespecifics of the treatment and the acquisition geometry. The macro-scaledependency matrix, for example, is shown in FIG. 13.

Process 1000 may continue from step 1006 into the realizationsub-process 1002 and specifically to step 1008, which includesinitializing fracture geometries. For example, fracture dimensions foreach stage may be initialized. The origin of each of the initializedfractures should be centered on the stage and heights and lengthsrandomly selected between approximately 0.5× and 1.5× well spacing. Insome aspects, fracture dimensions, y, for each stage are initializedusing a random initial vector that satisfies the physical constraints ofthe fracture but may not minimize the macro-scale objective function.

Process 1000 may continue at step 1010, which includes estimating (orsimulating) poromechanical responses. For example, poromechanicalresponses may be simulated for the stage geometries from the digitaltwin.

Process 1000 may continue at step 1012, which includes a determinationof whether a comparison between the simulated responses (e.g., simulatedpressures) are close enough to observed pressures (e.g., from an actualfracturing process). For example, the simulated poromechanical responsesare compared to the actual observed poromechanical responses in thefield when a treatment wellbore is fractured, thereby creating theobserved poromechanical responses (e.g., pressure changes) in a monitorwellbore. In some aspects, the simulated poroelastic responses, g^(l)({x^(k)}), are compared to the actual observed poroelastic responses in thefield.

If the determination in step 1012 is “no” (i.e., the comparison yieldsinsufficient results), then process 1000 may continue from step 1012 tostep 1014, which includes updating the fracture geometries. In someaspects, an insufficient result is that the l² norm of the differencesbetween modeled and observed responses is not minimized. For example, instep 1014, the fracture dimensions (e.g., the dimensions of the digitaltwin) may be updated for each stage in such a way as to reduce anabsolute difference between modeled and observed responses for eachstage. In some aspects, the updating includes updating the fracturedimensions, y, to achieve a better match between g^(l)({x ^(k)}) andR_(l) for the next iteration. Step 1014 may continue back to step 1010with the newly updated fracture dimensions in order to re-estimate theporomechanical responses.

If the determination in step 1012 is “yes” (i.e., the comparison yieldssufficient results), then process 1000 may continue from step 1012 tostep 1016, which includes recording the fracture geometries (e.g., ofthe digital twin) for the particular realization. As there may bemultiple realizations in the sub-process 1002, the steps of sub-process1002 (e.g., steps 1008 through 1016) may be performed multiple timesbefore the process continues to step 1018. Step 1018 includes performingfine-scale refinement for each treatment stage (as described later).

Process 1000 may continue at step 1020, which includes collecting theestimated fracture geometries for all realizations and assess thestatistical distribution of results. In some aspects, step 1018 mayrepresent an end of the macro solution and, thus, a solution of fracturegeometries for the monitor fracture.

In some aspects, criterion for “sufficient” determining in step 1010 issufficient may account for both fine (individualobservation-by-observation) and macro (all observations simultaneously)differences. For example, a given solution may have a very low l² Norm,but one stage may have an absolute difference between the modeled andobserved responses that is three standard deviations away from the meandifference. Solutions may not be accepted where large local differencesare present. An example final model fit for a single realization isshown in graph 1100 of FIG. 11.

In some aspects, step 1012 may include several sub steps. For example,in some aspects, parameters specific to a normal faulting regime with adefined fracture shape may be defined according to:

${\overset{\_}{x}}^{k} = \begin{Bmatrix}X_{f}^{k} \\H_{f}^{k} \\x_{o}^{k} \\y_{o}^{k} \\z_{o}^{k} \\\theta^{k}\end{Bmatrix}$

This vector, described previously, is also represented graphically inFIG. 9. Also, a misfit function may be defined as the l2 norm of thedifference between observed and model responses:misfit=√{square root over (Σ_(l=1) ^(N) ^(rsp) (R _(sim) ^(l) −R _(obs)^(l))₂)}  Eq. 5

In some aspects, if there are N^(prm) parameters per stage, eachevaluated at discrete evaluation points EvalPts and N^(stg) stages, thenthe number of evaluations required to evaluate the misfit error forevery permutation of fracture parameters may be:Evaluation Count=Π_(i=1) ^(N) ^(prm) EvalPts_(i))^(N) ^(stg)   Eq. 6

For instance, in an example situation with one monitor fracture and sixtreatment fractures, each fracture is symmetric and originates at thestage heel (x_(o)=y_(o)=z_(o)=0), using a parameter sweep such that:X_(f) varies from 500-2000 feet in 10 ft increments, H_(f) varies from10-500′ in 10 ft increments, and θ varies from 5-20 degrees in 1-degreeincrements. Then the misfit function evaluation count is:Evaluation Count=(150*50*5)⁷=2.28×10³⁵.

Thus, an exhaustive search of the parameter space may be computationallyinfeasible with this simple acquisition geometry, as there may be toomany scenarios to evaluate. Equally challenging is that the physics offracture mechanics yields many possible combinations of parameters thatwill produce a misfit error of zero, i.e., a perfect match. In someaspects, a two-part analysis solution may include, in a first part, amacro-scale analysis, e.g., all the fracture parameters x_(k) for eachstage in the system may be restricted to be equal. This common set offracture parameters may be x′. To address this, additional constraintson fracture feasibility may be preferable.

While a large number, this is far more manageable. The search space issmall enough that it can be efficiently computed completely and searchedmanually. Results may be selected from the set of all minimizing valuesof x′ for the case where there are more than one minima. Thismacro-scale analysis, using the l2 norm of the difference in observedand model responses produces effectively a composite result—and as suchthis result may be used as the fracture parameters for fractures thatare common to more than one observation, the monitor fractures. Findinga macro-scale solution first using few degrees of freedom has asecondary benefit as well, as it limits the impact of a single poorlyquantified poromechanical response. Uncertainty x′ is therefore drivenby systemic concerns. The overall approach to quantifying the magnitudeof each poromechanical response must be accurate to limit thisuncertainty.

In some aspects, the second part, called a fine-scale analysis, sets themonitor fracture parameters x_(k), k∈Monitor Set to the x′ from theglobal analysis and then varies the individual treatment fractureparameters x^(k), k∈Treatment Set such that R_(model) ^(l)−R_(observed)^(l)=0∀l. This is done either: (1) by varying X^(ƒ) while holding H^(ƒ)constant, or (2) by varying X^(ƒ) while holding

$\frac{X^{f}}{H^{f}}$constant.

In some aspects, this approach may be used for situations, e.g., with asingle monitor fracture, completions with expected similarity (monitorand treatment schedules identical or near so), and low expected fractureasymmetry (for example due to parent well influence, order of operationsor geologic factors). When situations become more complex, the approachto solution may, in some aspects, be generalized. For example,particularly challenging are stages that are observed during treatmentand are then used as monitor stages themselves, stages observed by morethan one monitor simultaneously, stages that have large expecteddifferences in dimension from one or more monitors, and stages that haveexpected asymmetries due to one or more factors.

In such cases, a mathematical optimization approach may be taken. Forexample, mathematical optimization is a broad field with applications invirtually all branches of science and engineering. Fundamentally, it isthe process of finding the best solution to a mathematical model withrequirements that are represented by constraints on the set of allfeasible solutions. Much of the mathematics is supported by rigorousproof, and the algorithms applicable to each class of problem are widelyvalidated across disciplines.

Continuity of variables may define the approach to solutions. Discreteoptimization may be most appropriate when one or more optimizationvariables can only take on a finite set of values. Continuousoptimization may be used when the optimization variables can take on anany value, usually subject to a set of constraints. The special casewhere the objective function to be minimized is linear in theoptimization variables; and the constraints may be specified using onlylinear equalities and inequalities is known as Linear Programming (LP).Generalizing further, nonlinear optimization is where the objectivefunction is non-linear in the optimization variables, and/or one or moreof the constraints are non-linear. Problems with as few as ten variablesthat objectively appear simple in their construction, can beintractable. Methods for solving these problems therefore may takeapproaches that involve compromises. The most common approach for largedegree of freedom problems is local optimization, where the compromiseis to give up on seeking a global optimum and instead seek a point thatis only locally optimal, minimizing the objective function in thefeasible region nearby, but not guaranteeing the lowest possible valuein the entire region. Local optimization of nonlinear problems may besolved iteratively by LP via linearization of the non-linearities.

The problem addressed in the present disclosure involves physicalproperties which take on continuous values, where the objective functionand constraints involve nonlinear, but at least C² continuous,combinations of the optimization variable. Solutions can be pursued to aconstrained, nonlinear optimization problem. The general optimizationproblem in standard form is:

minimize ƒ₀(x)subject to ƒ_(m)( x )≤b _(m) ,m=1, . . . ,N ^(cnst)  Eq. 7

Where the vector x=x_(i): i=1, . . . , N^(dof) is the optimizationvariable of the problem, ƒ₀(x): □^(Ndof)→□ is the objective function,the functions ƒ_(m)(x): □^(Ndof)→□ are the constraint functions, and theconstants b_(m) are the bounds of the constraints. A vector x* is asolution, called optimal, if it has the smallest objective value for allvectors that satisfy the constraints. With this definition, and thedefinition of Eq. 4 above, the optimization variable x is built from thefracture parameters of each fracture k in the system as follows. Let:

formed from x ^(k)=1, . . . , N^(stg) in Eq. 4 be the fractureparameters. As described previously, a macro-scale and fine-scale effectmay be used:x=x ^(macro) +x ^(fine) ={tilde over (D)}·y+wx _(i) =x _(i) ^(macro) +x _(i) ^(fine) =D _(ij) y _(j) +w _(i)

The first term, {tilde over (D)}·y, represents the component of thefracture parameters due to macro-scale effects such as overall geology,planned pump schedule, number of perforations, and other parameters. Thematrix {tilde over (D)}, in this example, is a dependency matrix whichlimits the degrees of freedom that are carried through to theoptimization variable. In the special case where D_(ij) is the identitymatrix, all the fracture parameters may be carried through as degrees offreedom.

The second term, w, represents the component of the fracture parametersdue to fine-scale effects, such as stage-specific geologic heterogeneityand deviation from perfect pumping schedule. If w_(i) are assumed to besmall perturbations about x_(i), the optimization problem can becondensed:

$\begin{matrix}\begin{matrix}{{{minimize}\mspace{14mu}{f_{0}\left( x_{i} \right)}} = {{minimize}\mspace{14mu}{f_{0}\left( {{D_{ij}y_{j}} + w_{i}} \right)}}} \\{= {{{minimize}\mspace{14mu}{f_{0}\left( {D_{ij}y_{j}} \right)}} + ɛ}}\end{matrix} & {{Eq}.\mspace{14mu} 9} \\{ɛ = {\frac{\partial f_{0}}{\partial x_{i}}❘_{D_{ij}y_{i}}{{\cdot w_{i}} + {O^{2}\left( w_{i} \right)}}}} & {{Eq}.\mspace{14mu} 10}\end{matrix}$

As Eq. 10 shows, removing fine-scale effects from the optimizationresults in uncertainty that may be directly related to the magnitude ofthese effects, and to the degree of reduction in the number of degreesof freedom, N_(dof)→N_(dof) ^(r). The choice of {tilde over (D)}, maytherefore depend on how w_(i) is to be estimated.

To design a suitable objective function, a constitutive relationship maybe used that links the fracture parameters to simulated poromechanicalresponses. Each simulated response R_(sim) ^(l): l=1, . . . , N^(rsp)may be a function of a set of fracture parameters:∀l∃{x ^(k) }∈x  Eq. 11

Such that:R _(sim) ^(l) =g ^(l)({ x ^(k)})=g ^(l)({x _(i)}^(l))=g ^(l)({D _(ij) y_(i)}^(l))  Eq. 12

In Eq. 12, the function g^(l) is a poromechanical response modelfunction (e.g., the digital twin). For macro-scale effects where theporomechanical response is dominated by the fracture geometries of themonitor fracture x ^(m)x_(i) ^(m)∈x and the treatment fracture x^(t)=x_(i) ^(t)∈x Eq. 12 reduces to:R _(sim) ^(l) =g ^(l)({ x ^(m) ,x ^(t)}^(l))=g ^(l)({x _(i) ^(m) ,x _(i)^(t)}^(l))=g ^(l)({D _(ij) y _(j) ^(m) ,D _(ij) y _(j) ^(t)}^(l))  Eq.13

Using Eq. 12, an objective function of the form of Eq. 5 can beconstructed. Eq. 10 also addresses an issue of how to link thesefracture parameters to the responses that they induce. In some aspects,one or more stages may be monitored as a treatment stage and then becomea monitor stage as the completion proceeds. In some cases, it may bedesirable to treat the geometry for such stage as either identicalduring treatment and while monitoring, or as different in such phases,depending on the duration of leak off (and hence reduction of theconnected fracture volume) between them.

As described above, FIGS. 4A-4B illustrate example observation graphs.An observation graph may be one example way to understand the set {x_(i)^(m), x_(i) ^(t)}^(l)∀l in Eq. 13. For example, in considering a monitorstage—treatment stage pair, an observation of a poromechanical responseinduced in the monitor by the treatment links these two stages, andgives direction to that link. As described, each stage may berepresented as a node in a graph, and each observation as a directededge. Using each observed poromechanical response to link the stagesinvolved in its observation, arbitrarily complex operations may begeneralized while simultaneously building a data structure that enablesefficient interrogation of both structure and relation. Some examplesinclude: (1) stages with one or more outbound edges are monitor stages;(2) stages with one or more inbound edges are treatment stages; (3)stages with greater than one inbound edge are observed by multiplemonitors simultaneously, and therefore should be better constrained; (4)stages with greater than one outbound edge monitor more than onetreatment stage in time, and therefore are better constrained; and (5)stages with both inbound and outbound edges couple segments ofoperations to one another.

As described, determining fracture geometries may include an objectivefunction and one or more constraints (or constraint functions). Theobjective function may be represented by ƒ₀(x). Constraint functions maybe represented by ƒ_(m)(x) and bounds, b_(m). A constraint limits wherein the solution space a minimum of ƒ₀(x) may be found. This may be alsoreferred to as a feasible region, Ω. In some aspects, there are bothlinear and non-linear constraints which allow the embedding of physicalknowledge of solution feasibility into the solution.

An example of a linear constraint, the limitation that a fracture mustintersect a wellbore may be set (as described previously). For example,x_(o), the shift of the fracture origin in the plane of the fracture fora simple rectangular fracture may be constrained so it cannot exceed thefracture half-length, X_(f)/2 (or simply X_(f) if this representsfracture half-length) if the fracture is to originate along thewellbore. These parameters are shown in FIG. 1C. Thus, an exampleconstraint may be defined by:

${- \frac{X_{f}}{2}} \leq x_{0} \leq {\frac{X_{f}}{2}.}$

As another example constraint, a non-linear constraint may be defined byconstraining the relationship between fracture length and height:

$\begin{matrix}{1 < \frac{X_{f}}{2*H_{f}} < 10} & {{Eq}.\mspace{14mu} 14}\end{matrix}$

As another example constraint, a non-linear constraint may be defined bylimiting the area of Fracture k, Area^(k) minus the mean of the area offractures in a fracture group, σ({Area^(FG)}) divided by σ({Area^(FG)})to be less than a particular percentage (e.g., 15%). Thus, for a givencompletion design applied to all stages in a fracture group (FG), thearea of the largest fracture in each stage may be assumed to vary fromthe mean area of all fractures completed with the same design in thatgroup by less than a specified percentage (e.g., 15%). This exampleconstraint may be defined by:

${\frac{{Area}^{k} - {\sigma\left( \left\{ {Area}^{FG} \right\} \right)}}{\sigma\left( \left\{ {Arear}^{FG} \right\} \right)}} \leq {{Specified}\mspace{14mu}{Percentage}}$

As another example, constraints may act as secondary objectivefunctions. For example, a solution may be desirable that matches theobserved poromechanical responses with minimum fracture asymmetry (e.g.,within a specified tolerance). This constraint may be defined by:Σ_(i=k) ^(N) ^(stg) x ₀ ^(k)≤Specified tolerance  Eq. 15

As is shown, there are many possible constraints that can be specified,both linear and non-linear. Such constraints may have a significantimpact on the resulting solution, and should be chosen carefully toyield a useful solution. For example, as described, techniques fordetermining fracture geometries may include nonlinear optimizationtechniques. Such techniques include algorithms for solving constrained,non-linear optimization problems of continuous variables in standardform, e.g., the Trust-Region family of algorithms (Branch, et al., 1999)(Byrd, et al., 1988); the Sequential Quadratic Programming (SQP)Algorithm (Biggs, 1975) (Han, 1977) (Powell, 1978) (Schittkowski, 1985)(Spellucci, 1998); and the Interior Point Algorithm (Byrd, et al., 2000)(Byrd, et al., 1999) (Waltz, et al., 2006), among others.

In the present disclosure, the SQP and Interior Point Algorithm may bemost suitable in practice. For example, the Interior Point Algorithm maybe suitable or preferred for computational efficiency reasons. All themethods listed above rely upon the computation of Jacobian matrices ofboth ƒ₀(x) and ƒ_(m)(x):ƒ₀( x )=

(R _(sim) ^(l) −R _(obs) ^(l))  Eq. 16

In some aspects, the R_(obs) ^(l) are constants that are independent ofx_(i). The Jacobians may be:

$\begin{matrix}{J_{f_{0}} = {\frac{\partial R_{sim}^{l}}{\partial x_{i}} = {\frac{\partial R_{sim}^{l}}{D_{ij}{\partial y_{j}}} = {\frac{\partial R_{sim}^{l}}{\partial y_{j}}D_{ij}^{T}}}}} & {{Eq}.\mspace{14mu} 17} \\{J_{f_{m}} = {\frac{\partial f_{m}}{\partial x_{i}} = {\frac{\partial f_{m}}{D_{ij}{\partial y_{j}}} = {\frac{\partial f_{m}}{\partial y_{j}}D_{ij}^{T}}}}} & {{Eq}.\mspace{20mu} 18}\end{matrix}$

In some aspects, for practical data acquisition configurations most ofthe terms in J_(f) ₀ and J_(f) _(m) are zero (sparse) because of the setreduction in Equation 12. By extension, this also leads to a sparsematrix in the Hessian matrix of the LaGrangian of ƒ_(μ)(x) used in theinterior point algorithm. Common implementation of the interior pointalgorithm leverages this sparsity to achieve lower memory footprint andsignificantly reduced execution time—both allowing for the solution oflarge degree of freedom problems that are the result of typical ofcomplex pad operations.

In the approaches listed above, there can be many vectors, x, in Ω whichminimize ƒ₀(x) locally. In some aspects, it is only for a special casewhere the objective function, ƒ₀(x), and constraint functions, ƒ_(m)(x),are convex that any local solution is also the global solution. A convexfunction is one that satisfies the following:ƒ_(m)(α x+βy )≤αƒ_(m)( x )+βƒ_(m)( y ),  Eq. 19

for all x, y∈R^(N) ^(dof) and all α, β∈□. Although the physical natureof the described solution space and constraints may ensure that theconstraint functions can be constructed to be convex, the same may nothold true of the objective function. For example, an objective functionbased upon Eq. 15 and Eq. 13 may be defined as:

$\begin{matrix}{{{f_{0}\left( \overset{\_}{x} \right)} = {{f_{0}x_{i}^{macro}} = {{f_{0}\left( {D_{ij}y_{i}} \right)} = {\frac{1}{N^{rsp}}{\sum\limits_{l = 1}^{N^{rsp}}\left\lbrack {{h\left( {g^{l}\left( \left\{ {D_{ij},y_{j}^{m},{D_{ij}y_{j}^{t}}} \right\}^{l} \right)} \right)} - {h\left( R_{observed}^{l} \right)}} \right\rbrack^{2}}}}}},} & {{Eq}.\mspace{14mu} 20}\end{matrix}$

where l is the number of poromechanical responses (e.g., edges in theobservation graph), and the function, □, is a scaling operator, such aslog₁₀(x), used to reduce the dynamic range of the responses. In someaspects, ƒ₀(x) can only be convex if Eq. 13 is convex, but this may notbe the case. The simulated response (supported by the underlyingfracture physics embedded in the digital twin) may produce identicalresults for multiple x ^(m), x ^(t). Therefore, solutions to theproblem, x*, may be strictly locally optimal, and non-unique.

In some aspects, however, the physics of fracture mechanics,characteristics of the data acquisition, and sensible limitations on thephysical viability of solutions limit the feasible region Ω in such away that the spread of locally optimal solutions may be narrow. This isbecause not all the fracture parameters may be independent. For example,FIG. 12 illustrates a combination observation graph-map 1200 thatincludes a set of five treatment stages monitored by two observationstages on independent offset wells in a particular landing zone. Asshown, the graph 1200 includes observation wellbores 1202 a and 1202 b(labeled Well A and Well C, respectively) and observation fractures 1208a and 1208 b (with nodes labeled M₁ and M₂). Graph 1200 also includestreatment wellbore 1204 (labeled Well B, with Heel and Toe directionsshown) and treatment fractures 1206 a through 1206 e. As further shown,the edges of the graph 1200 (coincident with the treatment fractures1206 a through 1206 e) are labeled R₁₁, R₁₂, R₁₃, R₁₄, R₁₅, R₂₁, R₂₂,R₂₃, R₂₄, and R₂₅. The poromechanical responses, R^(l) (here labeledR_(monitor id, treatment id) for clarity) are functions of the fractureparameters x^(m), x^(t).

Each combination {x ^(m), x ^(y)} may produce only one pressureresponse. If it is assumed that the parameters of a monitor fracture(1208 a or 1208 b), x ^(m), are constant for all treatment stages (1206a through 1206 e) that the monitor fractures “observes,” then allresponses observed by the monitor fracture (the outbound edges) must begenerated by the same x ^(m). Similarly, the responses observed by eachmonitor fracture for each treatment well (the inbound edges) must begenerated by the same x ^(t). Additionally, the response itself isgoverned by the poromechanical physics simulated by the digital twin—andthis response is a proportional to the surface integral over fluid-solidinterface of the fracture—thus coupling the fracture height and lengthand further limiting the independence of the fracture parameters.

To this, additional information may be added as constraint functions.For example, a set of constraints that may be known as “TypicalConstraints” are: (1) fractures have an absolute maximum and minimumlength and height suitable for the well spacing and treatment; (2)fractures must originate on the wellbore; (3) minimize the variance offracture areas with similar completions; and (4) prefer symmetricfractures (Eq. 15).

In some aspects, the degrees of freedom are limited in the optimizationby making assumptions about how individual stages may be similar ordissimilar. Also, it may be the limitation of the feasible region, Ω,that drives the variance of locally optimal solutions to the macro-scaleoptimization problem. For instance, the greater the restriction on Ω,the narrower the resulting solution variance may be. In the limit, thelocally optimal solution may become increasingly unique and willapproach the globally optimal solution, x*. In some aspects, it may benecessary to quantitatively assess the distribution of locally optimalsolutions, x.

Turning briefly to FIG. 13, a dependency matrix (D_(ij)) 1300 is shownfor the observation graph 1200. In some aspects, the construction ofD_(ij) 1300 may include lumping together stages that are likely tobehave similarly. For example, if all five treatment stages arecompleted with a similar design, with Wells A and C completed in zipperoperations and Well B in single-well operations, then one choice is togroup these seven stages into five stage-groups based upon expectedstress effects due to the order of completion operations: G₁={T₁, T₂},G₂={T₄, T₅}, G₃={T₃}, G₄={M₁}, and G₅={M₂}. For a system with a fractureazimuth and a fracture length for each stage, x ^(f)={X_(f) ^(k),θ^(k)}, if the system is constrained to a common global fracture azimuthθ^(G), the dependency matrix appears as matrix 1300. In some aspects,two factors drive the variability of locally optimal solutions to themacro-scale optimization problem: (1) the construction of the dependencymatrix {tilde over (D)}, and (2) the limitation of the feasible regionΩ.

In some aspects, treatment stages may be lumped together based on, forexample, a particular side (e.g., toe side or heel side) of the monitorfracture that the treatment stages are located. For example, as shown inFIG. 12, one particular group of fractures may include those nodeslabeled M₁, T₃, and M₂. Another particular group of fractures mayinclude those nodes labeled T₁ and T₂ (as these treatment fractures arelocated on the toe side of the monitor fractures, M₁ and M₂). Anotherparticular group of fractures may include those nodes labeled T₄ and T₅(as these treatment fractures are located on the heel side of themonitor fractures, M₁ and M₂).

In some aspects, the described iterative solutions for determiningfracture geometries may be stuck in local minima during a solutioniteration. In some aspects, however, this may not be generally a problemin large degree of freedom systems, because to be in a local minimumimplies that ∇ƒ₀(x)=0 and all variables are in a trough. As the numberof variables in x increases, the likelihood that all partial derivativesof ƒ₀(x) are zero simultaneously and in a trough far away from theglobal solution, x, becomes increasingly small. However, the case where∇ƒ₀(x)=0 and some variables are in a trough while the remaining rest onsaddle points may be a problem for convergence in practical algorithms.The interior point method, for instance, may have several mechanisms(e.g., entropy addition, backoff and redirect, conjugate gradientevaluation) to avoid outright, or limit significantly, convergenceproblems arising from saddle points.

An example approach to estimating how close a global solution, x*, forthe macro-scale effects may be to execute multiple realizations of theoptimization with different initial conditions x_(i) ^(initial) andidentical constraints, and examine the resulting solution distributionstatistically to determine the mean, variance, skewness, kurtosis, andhigher moments. If results cluster near a common point, x*, with a lowvariance (and low higher moments of distribution), then x* may be deemeda stable point of attraction. Therefore, there may be increasedconfidence in the plausibility of x* as near a global solution. On theother hand, if results are spread significantly or show significanthigher moments, then the ability to construct a meaningful result fromthe solution distribution may be limited.

In some aspects, solution distributions with large moments oftenindicate that one or more of the observed poromechanical responses maynot be representative of the modeled geometry. For example: (1) a balldid not set and a given stage pumped into the perforations of the priorstage such that the induced fracture(s) were not where the modelprescribed them in generating a modeled response; (2) a stage pumpedinto a pre-existing fault or high-permeability zone such that theinduced fracture was much larger than the initial conditions specified;or (3) a stage screened out prematurely and yielded a much smallerin-situ fracture than the initial conditions specified. In these cases,examination of the observed responses and either their removal from theobservation graph, a reconstruction of the dependency matrix {tilde over(D)}, or an adjustment to the initialization conditions x^(initial)usually results in stabilization of the solution space. For example, aplausible x* may be constructed by looking the maximal probability ofthe distribution, computing a cost-weighted average of the solutions inEq. 21 or a combination thereof.

$\begin{matrix}{{{\overset{\_}{x}}^{*} = {\frac{1}{N}{\sum\limits_{r = 1}^{N}{W_{r}{\overset{\_}{x}}_{r}^{*}}}}},{{{where}\mspace{14mu} 1} = {\sum\limits_{r = 1}^{N}W_{r}}}} & {{Eq}.\mspace{14mu} 21}\end{matrix}$

In some aspects, calculation of the fine-scale refinement of themacro-scale solution x* proceeds by iterating across the set of stages{x_(k)} in the observation graph which have no outbound edges (e.g.,these stages are not monitors), extracting a subgraph for each of thesestages containing only the stage itself x_(k) and all stages monitoringthat stage (e.g., all stages with an inbound edge to x_(k)), and thenexecuting a mathematical optimization. The optimization variable may beformed directly from the fracture parameters of the stage x_(k). Thisimplies that {tilde over (D)}=1 and Eq. 20 becomes:

$\begin{matrix}{{f_{0}\left( {\overset{\_}{x}}^{k^{fine}} \right)} = {{f_{0}x_{i}^{k^{fine}}} = {{f_{0}\left( {I \cdot y_{i}} \right)} = {\frac{1}{N^{sg}}{\sum\limits_{l = 1}^{N^{sg}}\left\lbrack {{h\left( {g^{l}\left( \left\{ {x_{i}^{m},{I \cdot y_{j}^{t}}} \right\}^{l} \right)} \right)} - {h\left( R_{observed}^{l} \right)}} \right\rbrack^{2}}}}}} & {{Eq}.\mspace{14mu} 22}\end{matrix}$

Where N^(sg) is the number of responses in the subgraph, and x_(i) ^(m)(the monitor geometries) is drawn from x* and is not part of theoptimization variable. As this optimization contains far fewerdegrees-of-freedom, and it is a dense matrix problem because theJacobian and Hessian of the objective function is sensitive to all theoptimization variables, the SQP algorithm may be used to solve thisproblem. In some aspects, the solution proceeds with the same or similarconstraints as the macro-scale problem, with the addition of one of thefollowing:H _(f) ^(k) =H _(f) ^(k) ^(macro) or X _(f) ^(k) /H _(f) ^(k)=(X _(f)^(k) /H _(f) ^(k))^(macro)  Eq. 23

Thus, either the fracture height, or the ratio between the fracturelength and the fracture height for each stage in the fine-scaleanalysis, is held equal to its respective value in the macro-scaleanalysis.

To examine the solution approach described previously, a series ofexamples (“Model Problems”) that isolate the solution process from thephysics of the digital twin and allows the adjustment of parameters ofspecific implementations of the interior point method (and the othersolvers) in a controlled manner may be constructed. A Model Problem isconstructed by defining a known set of fracture geometries x _(i)^(known) on a virtual pad with known monitor and treatment stages. Adigital twin is then employed to compute the poromechanical pressureresponses for each monitor-treatment pair {x ^(m), x ^(t)}^(l), andthese responses are then treated as the observed responses R_(observed)^(l). With a set of observed responses for the known geometries, theprocess the process 1000 described in FIG. 10 may be executed to recovera set of estimated fracture geometries x_(i) ^(estimated) and comparethe estimated geometries to the known true geometries.

One of the example Model Problems is shown in FIG. 14. FIG. 14illustrates a combination observation graph-map 1400 that includes a setof six treatment stages monitored by an observation stage on independentoffset wells in a particular landing zone. As shown, the map 1400includes observation wellbore 1402 (labeled Well A) and observationfracture 1408 (with node labeled M₁). Graph 1400 also includes treatmentwellbore 1404 (labeled Well B with Heel and Toe directions shown) andtreatment fractures 1406 a through 1406 f.

In this example, Wells A and B are in the same zone, all stages aredefined to be symmetric about the wellbore and have a common fractureazimuth of θ_(g)=90°, and all stages have a perforated interval of 150feet with three clusters per stage. For this example, the optimizationhas three degrees of freedom for each stage: x ^(k)={X_(f) ^(k), H_(f)^(k), y_(o) ^(k)}. Therefore, there are 21 degrees of freedom in thisexample and six observed responses. The full system is reduced bytreating all treatment fractures as one group and the monitor fractureas a second group (e.g., as described with reference to FIG. 12).

As no asymmetry determination may be possible in this acquisition,fracture shifts are constrained to zero: (x_(o) ^(k)=0, z₀ ^(k)=0). Themacro-scale analysis is then performed using 100 realizations withequal-weighted random distributions for: (1) X_(f) ^(initial) from aminimum of 500 feet to a maximum of 1100 feet for the fracture lengths;(2) H_(f) ^(initial) from 100 feet to 200 feet for the fracture heights;and (3) y₀ ^(initial) from 0 to 150 feet. Nine cases, corresponding tothe monitor and treatment fractures each originating from either theheel, midpoint, or toe perforation cluster, are evaluated. An example ofthe solution distribution of results from these realizations for X_(f)^(treatment) and X_(f) ^(monitor) for the monitor=toe, treatment=heelcase are shown in FIGS. 15-17.

For example, FIG. 15 shows a graph 1500 that illustrates a histogram ofthe random distribution used for the initialization vector. Graph 1500includes a y-axis that describes count number for the monitor andtreatment fractures for each particular range of X_(f) ^(initial) (onthe x-axis). FIG. 16 shows a graph 1600 that illustrates cross plot ofthe initialization and result. Graph 1600 includes a y-axis thatdescribes X_(f) ^(initial) values and an x-axis that describes X_(f)^(result), with both monitor and treatment fractures cross-plotted. FIG.17 shows a graph 1700 that illustrates an estimated probabilitydistribution resulting from the optimization. Graph 1700 includes ay-axis that describes probability and an x-axis that describes X_(f)^(result), with both monitor and treatment fractures plotted.

Similarly, an example of the solution distribution of results from theserealizations for H_(f) ^(treatment) and H_(f) ^(monitor) for themonitor=toe, treatment=heel case are shown in FIGS. 18-20. For example,FIG. 18 shows a graph 1800 that illustrates a histogram of the randomdistribution used for the initialization vector. Graph 1800 includes ay-axis that describes count number for the monitor and treatmentfractures for each particular range of H_(f) ^(initial) (on the x-axis).FIG. 19 shows a graph 1900 that illustrates cross plot of theinitialization and result. Graph 1900 includes a y-axis that describesH_(f) ^(initial) values and an x-axis that describes H_(f) ^(result),with both monitor and treatment fractures cross-plotted. FIG. 20 shows agraph 2000 that illustrates an estimated probability distributionresulting from the optimization. Graph 2000 includes a y-axis thatdescribes probability and an x-axis that describes H_(f) ^(result), withboth monitor and treatment fractures plotted.

Further, by separating the initialization vectors into segments, bias inthe selection of the initialization range can be tested. For example,the monitor dimension, X_(f), can be tested for bias, as shown in FIGS.21 and 22. For example, FIG. 21 illustrates a graph 2100 that ahistogram of the random distribution used for the initialization vectorof X_(f). Graph 2100 includes a y-axis that describes count number forthe monitor and treatment fractures for each particular range of X_(f)(on the x-axis). FIG. 22 shows a graph 2200 that illustrates anestimated probability distribution resulting from the optimization.Graph 2200 includes a y-axis that describes probability and an x-axisthat describes H_(f) ^(result), with low, high, and combined valuesplotted. The area under the curve is equal to one, equivalent to 100%.

The completed solution table for this example Model Problem (of FIG. 14)after fine-scale refinement (holding the fracture height constant) isshown in the table of FIG. 23. There are several interestingobservations from this table. First, the perforation location of themonitor was not fixed in the optimization; therefore, the recoveredperforation location must be interpreted in relative terms, with 0=Toe,50=Mid, 100=Heel. A recovered location of monitor=52, treatment=0,indicates the monitor fracture is most likely at the mid-perf andtreatment fracture is most likely at the toe perf. This is functionallyequivalent to the monitor in the heel and the treatment at the midpointof the perforated interval. Second, no systemic bias arising from thechoice of perforation location was discerned. The deviation from theknown fracture dimension does not arise from the choice of perforationlocation. Finally, the deviation from the true dimension of eachfracture as a percentage of the fracture dimension is relativelysimilar. The method is estimating the fracture geometries with nominallysimilar uncertainties.

Further, a similar process for a small set of fully three-dimensionalModel Problems, ranging from simple situations such as that describedearlier, to complex multi-well pad scenarios with multiple monitors andstages that are both treatment and monitor fractures during theirlifetime were executed. The results of these initial studies are shownin the table in FIG. 24. For reference, the case given in the detailedexample here appears in row two of this table. This collection ofpreliminary results reflects potentially common fracturing designs.

As described, the present disclosure illustrates example implementationsof processes and systems for estimating fracture geometries from offsetpressure signals scalable to large, complex, pad acquisitions. Theexample implementations may enable a rapid and consistent estimation offracture geometries from offset pressure monitoring. Exampleimplementations, as described, may utilize a representation for offsetpressure monitoring called an observation graph.

The features described can be implemented in digital electroniccircuitry, or in computer hardware, firmware, software, or incombinations of them. The apparatus can be implemented in a computerprogram product tangibly embodied in an information carrier, forexample, in a machine-readable storage device for execution by aprogrammable processor; and method steps can be performed by aprogrammable processor executing a program of instructions to performfunctions of the described implementations by operating on input dataand generating output. The described features can be implementedadvantageously in one or more computer programs that are executable on aprogrammable system including at least one programmable processorcoupled to receive data and instructions from, and to transmit data andinstructions to, a data storage system, at least one input device, andat least one output device. A computer program is a set of instructionsthat can be used, directly or indirectly, in a computer to perform acertain activity or bring about a certain result. A computer program canbe written in any form of programming language, including compiled orinterpreted languages, and it can be deployed in any form, including asa stand-alone program or as a module, component, subroutine, or otherunit suitable for use in a computing environment.

Suitable processors for the execution of a program of instructionsinclude, by way of example, both general and special purposemicroprocessors, and the sole processor or one of multiple processors ofany kind of computer. Generally, a processor will receive instructionsand data from a read-only memory or a random access memory or both. Theessential elements of a computer are a processor for executinginstructions and one or more memories for storing instructions and data.Generally, a computer will also include, or be operatively coupled tocommunicate with, one or more mass storage devices for storing datafiles; such devices include magnetic disks, such as internal hard disksand removable disks; magneto-optical disks; and optical disks. Storagedevices suitable for tangibly embodying computer program instructionsand data include all forms of non-volatile memory, including by way ofexample semiconductor memory devices, such as EPROM, EEPROM, and flashmemory devices; magnetic disks such as internal hard disks and removabledisks; magneto-optical disks; and CD-ROM and DVD-ROM disks. Theprocessor and the memory can be supplemented by, or incorporated in,ASICs (application-specific integrated circuits).

To provide for interaction with a user, the features can be implementedon a computer having a display device such as a CRT (cathode ray tube)or LCD (liquid crystal display) monitor for displaying information tothe user and a keyboard and a pointing device such as a mouse or atrackball by which the user can provide input to the computer.Additionally, such activities can be implemented via touchscreenflat-panel displays and other appropriate mechanisms.

The features can be implemented in a control system that includes aback-end component, such as a data server, or that includes a middlewarecomponent, such as an application server or an Internet server, or thatincludes a front-end component, such as a client computer having agraphical user interface or an Internet browser, or any combination ofthem. The components of the system can be connected by any form ormedium of digital data communication such as a communication network.Examples of communication networks include a local area network (“LAN”),a wide area network (“WAN”), peer-to-peer networks (having ad-hoc orstatic members), grid computing infrastructures, and the Internet.

While this specification contains many specific implementation details,these should not be construed as limitations on the scope of anyinventions or of what may be claimed, but rather as descriptions offeatures specific to particular implementations of particularinventions. Certain features that are described in this specification inthe context of separate implementations can also be implemented incombination in a single implementation. Conversely, various featuresthat are described in the context of a single implementation can also beimplemented in multiple implementations separately or in any suitablesubcombination. Moreover, although features may be described above asacting in certain combinations and even initially claimed as such, oneor more features from a claimed combination can in some cases be excisedfrom the combination, and the claimed combination may be directed to asubcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the implementations described above should not beunderstood as requiring such separation in all implementations, and itshould be understood that the described program components and systemscan generally be integrated together in a single software product orpackaged into multiple software products.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made without departingfrom the spirit and scope of the disclosure. For example, exampleoperations, methods, or processes described herein may include moresteps or fewer steps than those described. Further, the steps in suchexample operations, methods, or processes may be performed in differentsuccessions than that described or illustrated in the figures.Accordingly, other implementations are within the scope of the followingclaims.

What is claimed is:
 1. A structured data processing system fordetermining geometries of hydraulic fractures, the system comprising:one or more hardware processors; a memory in communication with the oneor more hardware processors, the memory storing a data structure and anexecution environment, the data structure storing data that comprises aplurality of hydraulic fracture identifiers and a plurality of observedporomechanically induced fluid pressures, at least one of the pluralityof hydraulic fracture identifiers associated with a first hydraulicfracture formed from a monitor wellbore that extends from a terraneansurface into a subsurface rock formation and at least another of theplurality of hydraulic fracture identifiers associated with a secondhydraulic fracture formed from a treatment wellbore that extends fromthe terranean surface into the subsurface rock formation, at least oneof the plurality of observed poromechanically induced fluid pressurescomprising a pressure change in a fluid in the first hydraulic fracturethat is induced by formation of the second hydraulic fracture, where thepressure change is caused by a change in stress on a solid portion ofthe subsurface rock formation that is in contact with a formation fluidthat is in direct fluid communication with the fluid in the firsthydraulic fracture, and no measurable portion of the pressure change iscaused by advective or diffusive mass transport from a treatment fluidin the second hydraulic fracture formed from the treatment wellbore tothe fluid in the first hydraulic fracture during a hydraulic fracturingtreatment to form the second hydraulic fracture with the treatmentfluid, the execution environment comprising: a hydraulic fracturegeometry solver configured to perform operations comprising: (i)executing a single- or multi-objective, non-linear constrainedoptimization analysis to minimize at least one objective functionassociated with the plurality of observed poromechanically induced fluidpressures by minimizing a difference in hydraulic fracture geometrycriteria related to the plurality of observed poromechanically inducedfluid pressures, and (ii) based on minimizing the at least one objectivefunction, determining respective sets of hydraulic fracture geometriesassociated with at least one of the first hydraulic fracture or thesecond hydraulic fracture; a user interface module that generates a userinterface that renders one or more graphical representations of thedetermined respective sets of hydraulic fracture geometries; and atransmission module that transmits, over one or more communicationprotocols and to a computing device, data that represents the one ormore graphical representations.
 2. The structured data processing systemof claim 1, wherein the at least one objective function comprises afirst objective function, and minimizing the first objective function byminimizing the difference in hydraulic fracture geometry criteriarelated to the plurality of observed poromechanically induced fluidpressures comprises: minimizing a difference between the observedporomechanically induced pressure and a modeled pressure associated withthe first and second hydraulic fractures.
 3. The structured dataprocessing system of claim 2, wherein the hydraulic fracture geometrysolver is further configured to perform operations comprising assessinga shift penalty to the first objective function.
 4. The structured dataprocessing system of claim 3, wherein the operation of assessing theshift penalty comprises minimizing a standard deviation of the centerlocation of each of a plurality of hydraulic fractures in a stagefracturing treatment initiated from the treatment wellbore that includesthe second hydraulic fracture.
 5. The structured data processing systemof claim 2, wherein the modeled pressure is determined with a finiteelement method that outputs the modeled pressure based on inputs thatcomprise parameters of a hydraulic fracture operation and the respectivesets of hydraulic fracture geometries of the first and second hydraulicfractures.
 6. The structured data processing system of claim 2, whereinthe hydraulic fracture geometry solver is further configured to performoperations comprising minimizing a second objective function associatedwith the plurality of observed poromechanically induced fluid pressuresby minimizing another difference in hydraulic fracture geometry criteriarelated to the plurality of observed poromechanically induced fluidpressures.
 7. The structured data processing system of claim 6, whereinthe operation of minimizing the second objective function by minimizingthe another difference in hydraulic fracture geometry criteria relatedto the plurality of observed poromechanically induced fluid pressurescomprises at least one of: minimizing a difference between an area ofthe first hydraulic fracture and an average area of a group of hydraulicfractures in a hydraulic fracturing stage group that comprises the firsthydraulic fracture; or minimizing a difference between an area of thesecond hydraulic fracture and an average area of a group of hydraulicfractures in a hydraulic fracturing stage group that comprises thesecond hydraulic fracture.
 8. The structured data processing system ofclaim 5, wherein the hydraulic fracture geometry solver is furtherconfigured to perform operations comprising applying a constraint to thesingle- or multi-objective, non-linear constrained optimization analysisassociated with at least one of a center of the first hydraulic fractureor a center of the second hydraulic fracture.
 9. The structured dataprocessing system of claim 8, wherein the operation of applying theconstraint comprises at least one of: constraining a distance betweenthe center of the first hydraulic fracture and the radial center of themonitor wellbore to be no greater than a fracture half-length dimensionof the first hydraulic fracture and no greater than a fracture heightdimension of the first hydraulic fracture; or constraining a distancebetween the center of the second hydraulic fracture and the radialcenter of the treatment wellbore to be no greater than a fracturehalf-length dimension of the second hydraulic fracture and no greaterthan a fracture height dimension of the second hydraulic fracture. 10.The structured data processing system of claim 2, wherein the hydraulicfracture geometry solver is further configured to perform operationscomprising iterating steps (i) and (ii) until: an error for at least oneof the first or second objective functions is less than a specifiedvalue; and a change in the determined plurality of fracture geometrydata for the first hydraulic fracture from a previous iteration to acurrent iteration is less than the specified value.
 11. The structureddata processing system of claim 10, wherein the operation of iteratingcomprises: setting the set of hydraulic fracture geometries of the firsthydraulic fracture to an initial set of data values; minimizing at leastone of the first or second objective functions using the observedporomechanically induced pressure and modeled pressure that is based onthe set of hydraulic fracture geometries of the first hydraulic fractureand a set of hydraulic fracture geometries of the second hydraulicfracture; calculating a new set of hydraulic fracture geometries of thefirst hydraulic based on the minimization; and resetting the set ofhydraulic fracture geometries of the first hydraulic fracture to thecalculated new set of hydraulic fracture geometries.
 12. The structureddata processing system of claim 11, wherein the operation of determiningrespective sets of hydraulic fracture geometries associated with atleast one of the first hydraulic fracture or the second hydraulicfracture comprises determining respective sets of hydraulic fracturegeometries associated with the first hydraulic fracture.
 13. Thestructured data processing system of claim 12, wherein the hydraulicfracture geometry solver is further configured to perform operationscomprising: based on the error for at least one of the first or secondobjective functions being less than the specified value, fixing the setof hydraulic fracture geometries of the first hydraulic fracture to thecalculated new set of hydraulic fracture geometries; minimizing thefirst objective function to minimize the difference between the observedporomechanically induced pressure and the modeled pressure associatedwith the first and second hydraulic fractures; and optimizing, throughan iterative process, the hydraulic fracture geometries of the secondhydraulic fracture, the optimizing comprising applying a constraintassociated with a fracture height of the second hydraulic fracture or afracture length-to-fracture height ratio of the second hydraulicfracture.
 14. The structured data processing system of claim 13, whereinthe iterative process comprises iterating steps (i) and (ii) until: anerror for at least one of the first or second objective functions isless than a specified value; and a change in the determined plurality offracture geometry data for the second hydraulic fracture from a previousiteration to a current iteration is less than the specified value, andthe operation of iterating comprises: setting the set of hydraulicfracture geometries of the second hydraulic fracture to an initial setof data values; minimizing at least one of the first or second objectivefunctions using the observed poromechanically induced pressure andmodeled pressure that is based on the fixed set of hydraulic fracturegeometries of the first hydraulic fracture and the set of hydraulicfracture geometries of the second hydraulic fracture; calculating a newset of hydraulic fracture geometries of the second hydraulic based onthe minimization; and resetting the set of hydraulic fracture geometriesof the second hydraulic fracture to the calculated new set of hydraulicfracture geometries.
 15. The structured data processing system of claim1, wherein the data structure comprises an observation graph thatcomprises a plurality of nodes and a plurality of edges, each edgeconnecting two nodes, and each node represents one of the plurality ofhydraulic fractures and each edge represents one of the observedporomechanically induced pressures.
 16. A computer-implemented methodfor determining geometries of hydraulic fractures, comprising: (i)searching, with one or more hardware processors, memory in communicationwith the one or more hardware processors for a data structure stored inthe memory; (ii) extracting, with one or more hardware processors, datafrom the data structure, the data comprising a plurality of hydraulicfracture identifiers and a plurality of observed poromechanicallyinduced fluid pressures, at least one of the plurality of hydraulicfracture identifiers represents a first hydraulic fracture formed from amonitor wellbore that extends from a terranean surface into a subsurfacerock formation and at least another of the plurality of hydraulicfracture identifiers represents a second hydraulic fracture formed froma treatment wellbore that extends from the terranean surface into thesubsurface rock formation, at least one of the plurality of observedporomechanically induced fluid pressures comprising a pressure change ina fluid in the first hydraulic fracture that is induced by formation ofthe second hydraulic fracture, where the pressure change is caused by achange in stress on a solid portion of the subsurface rock formationthat is in contact with a formation fluid that is in direct fluidcommunication with the fluid in the first hydraulic fracture, and nomeasurable portion of the pressure change is caused by advective ordiffusive mass transport from a treatment fluid in the second hydraulicfracture formed from the treatment wellbore to the fluid in the firsthydraulic fracture during a hydraulic fracturing treatment to form thesecond hydraulic fracture with the treatment fluid; (iii) performing,with the one or more hardware processors, a single- or multi-objective,non-linear constrained optimization analysis to minimize at least oneobjective function associated with the plurality of observedporomechanically induced fluid pressures by minimizing a difference inhydraulic fracture geometry criteria related to the plurality ofobserved poromechanically induced fluid pressures; (iv) based onminimizing the at least one objective function, determining, with theone or more hardware processors, respective sets of hydraulic fracturegeometries associated with at least one of the first hydraulic fractureor the second hydraulic fracture; and (v) preparing, with the one ormore hardware processors, the determined plurality of fracture geometrydata for presentation through a graphical user interface.
 17. Thecomputer-implemented method of claim 16, wherein the at least oneobjective function comprises a first objective function, and minimizingthe first objective function by minimizing the difference in hydraulicfracture geometry criteria related to the plurality of observedporomechanically induced fluid pressures comprises: minimizing adifference between the observed poromechanically induced pressure and amodeled pressure associated with the first and second hydraulicfractures.
 18. The computer-implemented method of claim 17, furthercomprising assessing, with the one or more hardware processors, a shiftpenalty to the first objective function.
 19. The computer-implementedmethod of claim 18, wherein assessing the shift penalty comprisesminimizing a standard deviation of the center location of each of aplurality of hydraulic fractures in a stage fracturing treatmentinitiated from the treatment wellbore that includes the second hydraulicfracture.
 20. The computer-implemented method of claim 17, wherein themodeled pressure is determined with a finite element method that outputsthe modeled pressure based on inputs that comprise parameters of ahydraulic fracture operation and the respective sets of hydraulicfracture geometries of the first and second hydraulic fractures.
 21. Thecomputer-implemented method of claim 17, wherein step (iii) furthercomprises minimizing a second objective function associated with theplurality of observed poromechanically induced fluid pressures byminimizing another difference in hydraulic fracture geometry criteriarelated to the plurality of observed poromechanically induced fluidpressures.
 22. The computer-implemented method of claim 21, whereinminimizing the second objective function by minimizing the anotherdifference in hydraulic fracture geometry criteria related to theplurality of observed poromechanically induced fluid pressures comprisesat least one of: minimizing a difference between an area of the firsthydraulic fracture and an average area of a group of hydraulic fracturesin a hydraulic fracturing stage group that comprises the first hydraulicfracture; or minimizing a difference between an area of the secondhydraulic fracture and an average area of a group of hydraulic fracturesin a hydraulic fracturing stage group that comprises the secondhydraulic fracture.
 23. The computer-implemented method of claim 20,wherein step (iii) further comprises applying, with the one or morehardware processors, a constraint to the single- or multi-objective,non-linear constrained optimization analysis associated with at leastone of a center of the first hydraulic fracture or a center of thesecond hydraulic fracture.
 24. The computer-implemented method of claim23, wherein applying the constraint comprises at least one of:constraining a distance between the center of the first hydraulicfracture and the radial center of the monitor wellbore to be no greaterthan a fracture half-length dimension of the first hydraulic fractureand no greater than a fracture height dimension of the first hydraulicfracture; or constraining a distance between the center of the secondhydraulic fracture and the radial center of the treatment wellbore to beno greater than a fracture half-length dimension of the second hydraulicfracture and no greater than a fracture height dimension of the secondhydraulic fracture.
 25. The computer-implemented method of claim 17,further comprising iterating steps (iii) and (iv) until: an error for atleast one of the first or second objective functions is less than aspecified value; and a change in the determined plurality of fracturegeometry data for the first hydraulic fracture from a previous iterationto a current iteration is less than the specified value.
 26. Thecomputer-implemented method of claim 25, wherein iterating comprises:setting the set of hydraulic fracture geometries of the first hydraulicfracture to an initial set of data values; minimizing at least one ofthe first or second objective functions using the observedporomechanically induced pressure and modeled pressure that is based onthe set of hydraulic fracture geometries of the first hydraulic fractureand a set of hydraulic fracture geometries of the second hydraulicfracture; calculating a new set of hydraulic fracture geometries of thefirst hydraulic based on the minimization; and resetting the set ofhydraulic fracture geometries of the first hydraulic fracture to thecalculated new set of hydraulic fracture geometries.
 27. Thecomputer-implemented method of claim 26, wherein determining respectivesets of hydraulic fracture geometries associated with at least one ofthe first hydraulic fracture or the second hydraulic fracture comprisesdetermining respective sets of hydraulic fracture geometries associatedwith the first hydraulic fracture.
 28. The computer-implemented methodof claim 27, further comprising: based on the error for at least one ofthe first or second objective functions being less than the specifiedvalue, fixing the set of hydraulic fracture geometries of the firsthydraulic fracture to the calculated new set of hydraulic fracturegeometries; minimizing the first objective function to minimize thedifference between the observed poromechanically induced pressure andthe modeled pressure associated with the first and second hydraulicfractures; and optimizing, through an iterative process, the hydraulicfracture geometries of the second hydraulic fracture, the optimizingcomprising applying a constraint associated with a fracture height ofthe second hydraulic fracture or a fracture length-to-fracture heightratio of the second hydraulic fracture.
 29. The computer-implementedmethod of claim 28, wherein the iterative process comprises iteratingsteps (iii) and (iv) until: an error for at least one of the first orsecond objective functions is less than a specified value; and a changein the determined plurality of fracture geometry data for the secondhydraulic fracture from a previous iteration to a current iteration isless than the specified value, and iterating comprises: setting the setof hydraulic fracture geometries of the second hydraulic fracture to aninitial set of data values; minimizing at least one of the first orsecond objective functions using the observed poromechanically inducedpressure and modeled pressure that is based on the fixed set ofhydraulic fracture geometries of the first hydraulic fracture and theset of hydraulic fracture geometries of the second hydraulic fracture;calculating a new set of hydraulic fracture geometries of the secondhydraulic based on the minimization; and resetting the set of hydraulicfracture geometries of the second hydraulic fracture to the calculatednew set of hydraulic fracture geometries.
 30. The computer-implementedmethod of claim 16, wherein the data structure comprises an observationgraph that comprises a plurality of nodes and a plurality of edges, eachedge connecting two nodes, and each node represents one of the pluralityof hydraulic fractures and each edge represents one of the observedporomechanically induced pressures.
 31. A structured data processingsystem for determining geometries of hydraulic fractures, the systemcomprising: one or more hardware processors; a memory in communicationwith the one or more hardware processors, the memory storing a datastructure and an execution environment, the data structure storing datathat comprises a plurality of hydraulic fracture identifiers and aplurality of observed poromechanically induced fluid pressures, at leastone of the plurality of hydraulic fracture identifiers associated with afirst hydraulic fracture formed from a monitor wellbore that extendsfrom a terranean surface into a subsurface rock formation and at leastanother of the plurality of hydraulic fracture identifiers associatedwith a second hydraulic fracture formed from a treatment wellbore thatextends from the terranean surface into the subsurface rock formation,at least one of the plurality of observed poromechanically induced fluidpressures comprising a pressure change in a fluid in the first hydraulicfracture that is induced by formation of the second hydraulic fracture,where the pressure change is caused by a change in stress on a solidportion of the subsurface rock formation that is in contact with aformation fluid that is in direct fluid communication with the fluid inthe first hydraulic fracture, and no measurable portion of the pressurechange is caused by advective or diffusive mass transport from atreatment fluid in the second hydraulic fracture formed from thetreatment wellbore to the fluid in the first hydraulic fracture during ahydraulic fracturing treatment to form the second hydraulic fracturewith the treatment fluid, the execution environment comprising: ahydraulic fracture geometry solver configured to perform operationscomprising: (i) executing a single- or multi-objective, non-linearconstrained optimization analysis, the executed analysis comprising:minimizing a first objective function associated with the plurality ofobserved poromechanically induced fluid pressures by minimizing adifference between each observed poromechanically induced pressure and amodeled pressure associated with the first and second hydraulicfractures, and minimizing a second objective function associated withthe plurality of observed poromechanically induced fluid pressures byminimizing at least one of: (a) a difference between an area of thefirst hydraulic fracture and an average area of a group of hydraulicfractures in a hydraulic fracturing stage group that comprises the firsthydraulic fracture, or (b) a difference between an area of the secondhydraulic fracture and an average area of a group of hydraulic fracturesin a hydraulic fracturing stage group that comprises the secondhydraulic fracture, and (ii) based on minimizing the first and secondobjective functions, determining respective sets of hydraulic fracturegeometries associated with at least one of the first hydraulic fractureor the second hydraulic fracture; a user interface module that generatesa user interface that renders one or more graphical representations ofthe determined respective sets of hydraulic fracture geometries; and atransmission module that transmits, over one or more communicationprotocols and to a computing device, data that represents the one ormore graphical representations.